{ "openapi": "3.0.0", "info": { "title": "Promotions & Taxes API", "description": "Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Promotions and is organized by focusing on the developer's journey.\r\n\r\n The Promotions & Taxes API allows you to manage and retrieve all promotions, coupons and tax rules from your VTEX store.\r\n\r\n## Index\r\n\r\n### Promotions and taxes\r\n- `GET` [Get all promotions](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/benefits/calculatorconfiguration)\r\n- `GET` [Get all taxes](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/taxes/calculatorconfiguration)\r\n- `GET` [Search promotion by name](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/benefits/calculatorconfiguration/search)\r\n- `GET` [Get promotion or tax by ID](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/calculatorconfiguration/-idCalculatorConfiguration-)\r\n- `POST` [Create or Update promotion or tax](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/calculatorconfiguration)\r\n- `POST` [Create Multiple SKU promotion](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/import/calculatorConfiguration)\r\n- `PUT` [Update Multiple SKU promotion](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#put-/api/rnb/pvt/import/calculatorConfiguration/-promotionId-)\r\n- `POST` [Archive promotion or tax](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/archive/calculatorConfiguration/-idCalculatorConfiguration-)\r\n- `POST` [Unarchive promotion or tax](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/unarchive/calculatorConfiguration/-idCalculatorConfiguration-)\r\n- `GET` [List archived promotions](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/archive/benefits/calculatorConfiguration)\r\n- `GET` [List archived taxes](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/archive/taxes/calculatorConfiguration)\r\n\r\n### Coupons\r\n- `POST` [Create multiple coupons](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/multiple-coupons)\r\n- `POST` [Create or update coupon](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/coupon)\r\n- `GET` [Get coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/coupon/-couponCode-)\r\n- `GET` [Get archived coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/archive/coupon/-couponCode-)\r\n- `POST` [Archive coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/archive/coupon/-couponCode-)\r\n- `GET` [Get all coupons](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/coupon)\r\n- `POST` [Generate coupons in bulk](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/coupons)\r\n- `GET` [Get coupon usage](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/coupon/usage/-couponCode-)\r\n- `POST` [Unarchive coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/unarchive/coupon/-couponCode-)\r\n\r\n### Prices (Legacy - v1)\r\n- `GET` [Get Price by SKU ID](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/price-sheet/-skuId-)\r\n- `DELETE` [Delete Price by SKU ID](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#delete-/price-sheet/-skuId-)\r\n- `GET` [Get all paged prices](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/price-sheet/all/-page-/-pageSize-)\r\n- `POST` [Get Price by context](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/price-sheet/context)\r\n- `GET` [Get Price by SKU ID and trade policy](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/price-sheet/-skuId-/-tradePolicy-)\r\n- `POST` [Save Price](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/price-sheet)\r\n\r\n### Bundles\r\n- `POST` [Calculate discounts and taxes (Bundles)](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/pub/bundles)\r\n\r\n### Campaign Audiences\r\n- `GET` [Get campaign audience configuration](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/campaignConfiguration/-campaignId-)\r\n- `GET` [Get all campaign audiences](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#get-/api/rnb/pvt/campaignConfiguration)\r\n- `POST` [Create campaign audience](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/campaignConfiguration)\r\n\r\n### Notifications\r\n- `POST` [Usage notification](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pub/notifications)\r\n\r\n\r\n## Common parameters in the documentation\r\n\r\n| Parameter name | Description |\r\n| - | - |\r\n| `{{accountName}}`| Name of the VTEX account. Used as part of the URL. |\r\n| `{{environment}}`| Name of the VTEX account. Used as part of the URL. |\r\n| `{{X-VTEX-API-AppKey}}` | Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys). |\r\n| `{{X-VTEX-API-AppToken}}` | Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys). |", "version": "1.0" }, "servers": [ { "url": "https://{accountName}.{environment}.com.br", "variables": { "accountName": { "description": "Name of the VTEX account. Used as part of the URL.", "default": "apiexamples" }, "environment": { "description": "Environment to use. Used as part of the URL.", "enum": [ "vtexcommercestable" ], "default": "vtexcommercestable" } } } ], "paths": { "/api/rnb/pvt/multiple-coupons": { "post": { "tags": [ "Coupons" ], "operationId": "CreateMultipleCoupons", "summary": "Create multiple coupons", "description": "Creates multiple coupons with different coupon codes. This endpoint has a throttling of 60 requests per minute.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "array", "description": "List of coupons.", "items": { "type": "object", "description": "Object containing information about the coupons.", "required": [ "quantity", "couponConfiguration" ], "properties": { "quantity": { "type": "integer", "description": "Quantity of coupons created. The value must be a minimum of `1` and at maximum `1000`. If the amount is `1`, the coupon code will be the value of the `couponCode` parameter. If the value is greater than `1`, the coupon code will receive a random suffix.", "example": 1 }, "couponConfiguration": { "type": "object", "description": "Object that contains all coupon configuration.", "required": [ "utmSource", "utmCampaign", "couponCode", "maxItemsPerClient", "expirationIntervalPerUse" ], "properties": { "utmSource": { "type": "string", "description": "utmSource code.", "example": "coupon3" }, "utmCampaign": { "type": "string", "description": "utmCampaign code.", "example": "xfbf1" }, "couponCode": { "type": "string", "description": "Coupon code.", "example": "test" }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`).", "example": false }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied.", "example": 10 }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use.", "example": "00:00:00" }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used.", "example": 1 } } } } } }, "example": [ { "quantity": 1, "couponConfiguration": { "utmSource": "fb", "utmCampaign": "bf", "couponCode": "promobf4", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 } } ] } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ "promobf" ], "schema": { "type": "array", "description": "Array with the coupon codes that were created.", "items": { "type": "string", "description": "Coupon code." } } } } } } } }, "/api/rnb/pvt/coupon": { "post": { "tags": [ "Coupons" ], "operationId": "CreateOrUpdateCoupon", "summary": "Create or update coupon", "description": "Creates a new single coupon or updates an existing coupon.\r\n\r\nTo update an existing coupon, first make a [Get coupon by coupon code](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api#get-/api/rnb/pvt/coupon/-couponCode-) request, copy the response body and apply the desired changes. Then, use the complete edited body as a request body in this update call.\r\n\r\n>⚠️ When updating a coupon, don't change the original `couponCode`, or a new coupon will be created instead of the existing coupon being updated.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "utmSource", "couponCode", "maxItemsPerClient", "expirationIntervalPerUse" ], "properties": { "utmSource": { "type": "string", "description": "UTM source code.", "example": "email" }, "utmCampaign": { "type": "string", "description": "UTM campaign code.", "example": "summer" }, "couponCode": { "type": "string", "description": "Coupon code.", "example": "summersale10" }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`).", "example": false }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied.", "example": 10 }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use.", "example": "00:00:00" }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used.", "example": 1 } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "example": { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "email", "utmCampaign": "summer", "couponCode": "summersale10", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 }, "schema": { "type": "object", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." } } } } } }, "200": { "description": "OK", "content": { "application/json": { "example": { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "email", "utmCampaign": "summer", "couponCode": "summersale10", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 }, "schema": { "type": "object", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." } } } } } } } }, "get": { "tags": [ "Coupons" ], "summary": "Get all coupons", "description": "Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Promotions and is organized by focusing on the developer's journey.\r\n\r\n Retrieves all coupons from an account.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getall", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Indicate the media type of the resource.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "coupon3", "utmCampaign": "coupon3", "couponCode": "test", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00" }, { "lastModifiedUtc": "2020-06-22T18:25:24.4583474Z", "utmSource": "cupom3", "couponCode": "test-lucian2", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 3 } ], "schema": { "type": "array", "description": "List of coupons.", "items": { "type": "object", "description": "Object with information about the coupon.", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." }, "groupingKey": { "type": "string", "description": "If the coupon was created as a [multiple coupon](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/multiple-coupons) or using [Generate coupons in bulk](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/coupons), this field returns the original `couponCode` informed." } } } } } } } } } }, "/api/rnb/pvt/coupon/{couponCode}": { "get": { "tags": [ "Coupons" ], "summary": "Get coupon by coupon code", "description": "Retrieves a specific coupon by its coupon code.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getbycouponcode", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "promo10" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "coupon3", "couponCode": "test", "isArchived": false, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 }, "schema": { "type": "object", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." }, "groupingKey": { "type": "string", "description": "If the coupon was created as a [multiple coupon](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/multiple-coupons) or using [Generate coupons in bulk](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/coupons), this field returns the original `couponCode` informed." } } } } } } } } }, "/api/rnb/pvt/archive/coupon/{couponCode}": { "get": { "tags": [ "Coupons" ], "summary": "Get archived coupon by coupon code", "description": "Retrieves a specific archived coupon by its coupon code.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getarchivedbycouponcode", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "promo10" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "lastModifiedUtc": "2021-11-10T14:24:39.3683694Z", "utmSource": "coupon3", "couponCode": "test", "isArchived": true, "maxItemsPerClient": 10, "expirationIntervalPerUse": "00:00:00", "maxUsage": 1 }, "schema": { "type": "object", "properties": { "lastModifiedUtc": { "type": "string", "description": "Date and time of the last update of the coupon in UTC format." }, "utmSource": { "type": "string", "description": "UTM source code." }, "utmCampaign": { "type": "string", "description": "UTM campaign code." }, "couponCode": { "type": "string", "description": "Coupon code." }, "isArchived": { "type": "boolean", "description": "Defines if the coupon is archived (`true`) or not (`false`)." }, "maxItemsPerClient": { "type": "integer", "description": "Maximum items per client that the coupon can be applied." }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use." }, "maxUsage": { "type": "integer", "description": "Amount of times the coupon can be used." }, "groupingKey": { "type": "string", "description": "If the coupon was created as a [multiple coupon](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/multiple-coupons) or using [Generate coupons in bulk](https://developers.vtex.com/docs/api-reference/promotions-and-taxes-api/#post-/api/rnb/pvt/coupons), this field returns the original `couponCode` informed." } } } } } } } }, "post": { "tags": [ "Coupons" ], "summary": "Archive coupon by coupon code", "description": "Archives a specific coupon by its coupon code.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Archivebycouponcode", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "test" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "string", "description": "Coupon code of the archived coupon." }, "example": "promo10" } } } } } }, "/api/rnb/pvt/coupons": { "post": { "tags": [ "Coupons" ], "summary": "Generate coupons in bulk", "description": "Generates a massive amount of coupons.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "MassiveGeneration", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "quantity", "in": "query", "description": "Number of coupons to create, which can be from `1` to `1000`. For a single coupon (`1`), the code will be the `couponCode` value. For multiple coupons (more than `1`), codes will be the `couponCode` value with a random suffix.", "required": true, "style": "form", "explode": true, "schema": { "type": "integer", "example": 10 } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "utmSource", "utmCampaign", "couponCode", "maxItemsPerClient", "expirationIntervalPerUse" ], "type": "object", "properties": { "utmSource": { "type": "string", "description": "UTM source code.", "example": "cupom3" }, "utmCampaign": { "type": "string", "description": "UTM campaign code.", "example": "cupom3" }, "couponCode": { "type": "string", "description": "Coupon code.", "example": "ctest" }, "maxItemsPerClient": { "type": "integer", "description": "Maximum number of items a coupon can be applied to per client.", "example": 1 }, "expirationIntervalPerUse": { "type": "string", "description": "Coupon expiration interval per use.", "example": "00:00:00" } } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ "ctest-7DLKU492HR4MANV", "ctest-QUM3U4HUGJ54301", "ctest-0KYBWQUKR3WXV4C", "ctest-971CX1N55WZSEBY", "ctest-9FCQ0UX80F6K4A7", "ctest-HWZEJ7D0D9MP3O7", "ctest-7PI34QVEERM8A70", "ctest-RT47PC2A116O9QO", "ctest-F4T3IQBAGQWRVW7", "ctest-8C3MS3U594EPQB8" ], "schema": { "type": "array", "description": "Array with the generated coupon codes.", "items": { "type": "string", "description": "Coupon code." } } } } } } } }, "/api/rnb/pvt/coupon/usage/{couponCode}": { "get": { "tags": [ "Coupons" ], "summary": "Get coupon usage", "description": "Retrieves information about the coupon usage.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getusage", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "test" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "hostName": "account", "couponCode": "test", "profileUsages": { "23fa76cd-14e1-43ee-93af-0c04c9f6cfd7": { "orderUsage": [ { "orderId": "11636716780563-01", "usageDateUtc": "2021-11-03T23:27:54.8305115Z" } ] } } }, "schema": { "type": "object", "properties": { "hostName": { "type": "string", "description": "Name of the store." }, "couponCode": { "type": "string", "description": "Coupon code." }, "profileUsages": { "type": "object", "description": "Object with information where and when the coupon was used.", "properties": { "profileId": { "type": "object", "description": "Profile ID.", "properties": { "orderUsage": { "type": "array", "description": "Array with all the orders that the coupon was used.", "items": { "type": "object", "description": "Object with information about the order that the coupon was used.", "properties": { "orderId": { "type": "string", "description": "Order ID." }, "usageDateUtc": { "type": "string", "description": "Date and time when the coupon was used in the order in UTC format." } } } } } } } } } } } } } } } }, "/api/rnb/pvt/unarchive/coupon/{couponCode}": { "post": { "tags": [ "Coupons" ], "summary": "Unarchive coupon by coupon code", "description": "Unarchives a specifc coupon by its coupon code.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Unarchivebycouponcode", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "couponCode", "in": "path", "description": "Coupon Code", "required": true, "style": "simple", "schema": { "type": "string", "example": "test" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": "test", "schema": { "type": "string", "description": "Coupon code." } } } } } } }, "/api/rnb/pvt/benefits/calculatorconfiguration": { "get": { "tags": [ "Promotions and taxes" ], "summary": "Get all promotions", "description": "Retrieves all promotions from an account. \r\n\r\n> 📘 Onboarding guide \r\n>\r\n> Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about the Promotions and is organized by focusing on the developer's journey.\r\n\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetAllBenefits", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "limitConfigurationMaxPrice": { "activesCount": 0, "limit": 10 }, "limitConfiguration": { "activesCount": 4, "limit": 100 }, "items": [ { "idCalculatorConfiguration": "d8a1cd2e-b667-4054-b3ae-b79124c7218e", "lastModifiedUtc": "2021-09-17T18:13:16.2896414Z", "name": "Promotion Social Seller", "description": "Promotion for Social Seller", "type": "regular", "utmSource": "georgeSource", "utmCampain": "georgeTest", "utmiCampaign": "", "status": "active", "isActive": true, "isArchived": false, "hasMaxPricePerItem": false, "isTax": false, "Campaigns": [], "conditionsIds": [ "372e1868-2c0e-4437-be45-1ef8c9cab735" ], "activateGiftsMultiplier": false, "scope": { "allCatalog": true, "skus": 0, "skusAreInclusive": true, "products": 0, "productsAreInclusive": false, "collections": 0, "collectionsAreInclusive": false, "categories": 0, "categoriesAreInclusive": false, "brands": 0, "brandsAreInclusive": false, "sellers": 0, "sellersAreInclusive": false }, "maxUsage": 0, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false }, { "idCalculatorConfiguration": "7c946926-7815-4446-9428-83bd577a9135", "lastModifiedUtc": "2021-11-12T16:58:30.2553053Z", "name": "Progressive Discount", "beginDate": "2021-04-15T03:00:00Z", "endDate": "2021-04-16T02:30:00Z", "isActive": false, "description": "The progressive discount.", "type": "progressive", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "nominalDiscountType": "item", "status": "inactive", "percentualTax": 0, "isArchived": false, "hasMaxPricePerItem": false, "isTax": false, "Campaigns": [], "activateGiftsMultiplier": false, "scope": { "allCatalog": true, "skus": 0, "skusAreInclusive": true, "products": 0, "productsAreInclusive": true, "collections": 0, "collectionsAreInclusive": true, "categories": 0, "categoriesAreInclusive": true, "brands": 0, "brandsAreInclusive": true, "sellers": 0, "sellersAreInclusive": true }, "maxUsage": 0, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false } ], "disabledItems": [], "archivedItems": [] }, "schema": { "type": "object", "properties": { "limitConfigurationMaxPrice": { "type": "object", "description": "Limit configuration max price.", "properties": { "activesCount": { "type": "integer", "description": "Actives count." }, "limit": { "type": "integer", "description": "Limit." } } }, "limitConfiguration": { "type": "object", "description": "Limit configuration.", "properties": { "activesCount": { "type": "integer", "description": "Actives count." }, "limit": { "type": "integer", "description": "Limit." } } }, "items": { "$ref": "#/components/schemas/GetPromotions" }, "disabledItems": { "type": "array", "description": "Disabled items.", "items": { "type": "string", "description": "Disabled item." } }, "archivedItems": { "type": "array", "description": "Archived items.", "items": { "type": "string", "description": "Archived item." } }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\n\n -`item`: applies the intended nominal discount on every item present on the cart. \n\n -`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items." } } } } } } } } }, "/api/rnb/pvt/benefits/calculatorconfiguration/search": { "get": { "tags": [ "Promotions and taxes" ], "summary": "Search promotion by name", "description": "Retrieves all promotions whose name contains the searched term. \r\n\r\n> 📘 Onboarding guide \r\n>\r\n> Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about the Promotions and is organized by focusing on the developer's journey.\r\n\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "SearchPromotion", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "byName", "in": "query", "description": "Search term used to find a promotion by name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "shirt" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "idCalculatorConfiguration": "5ee78a73-a77e-4f84-b54e-d0c75a4b101a", "name": "Black shirt", "beginDateUtc": "2021-11-09T03:00:00Z", "endDateUtc": "2021-11-26T02:30:00Z", "lastModified": "2021-11-16T22:09:55.071735Z", "daysAgoOfPurchases": 0, "isActive": true, "isArchived": false, "isFeatured": false, "disableDeal": false, "activeDaysOfWeek": [], "offset": -3, "activateGiftsMultiplier": false, "newOffset": -3.0, "maxPricesPerItems": [], "cumulative": false, "nominalShippingDiscountValue": 0.0, "absoluteShippingDiscountValue": 0.0, "nominalDiscountValue": 1.0, "nominalDiscountType": "cart", "maximumUnitPriceDiscount": 0.0, "percentualDiscountValue": 0.0, "rebatePercentualDiscountValue": 0.0, "percentualShippingDiscountValue": 0.0, "percentualTax": 0.0, "shippingPercentualTax": 0.0, "percentualDiscountValueList1": 0.0, "percentualDiscountValueList2": 0.0, "skusGift": { "quantitySelectable": 1, "gifts": 1 }, "nominalRewardValue": 0.0, "percentualRewardValue": 0.0, "orderStatusRewardValue": "invoiced", "maxNumberOfAffectedItems": 0, "maxNumberOfAffectedItemsGroupKey": "perCart", "applyToAllShippings": false, "nominalTax": 0.0, "origin": "Marketplace", "idSellerIsInclusive": true, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "storesAreInclusive": true, "categories": [], "categoriesAreInclusive": true, "brands": [], "brandsAreInclusive": true, "products": [ { "id": "1", "name": "Pricing QA Test Product 1 (Produto 1)" }, { "id": "3", "name": "Pricing QA Test Product 3 (Produto 3)" } ], "productsAreInclusive": true, "skus": [], "skusAreInclusive": true, "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 0, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "coupon": [], "totalValueFloor": 0.0, "totalValueCeling": 0.0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": true, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "clusterOperator": "all", "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "accumulateWithManualPrice": false, "type": "regular", "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] } ], "schema": { "type": "array", "description": "List of promotions whose name matches the search.", "items": { "type": "object", "description": "Object with information about a promotion.", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID." }, "name": { "type": "string", "description": "Promotion Name." }, "description": { "type": "string", "description": "Promotion internal description." }, "beginDateUtc": { "type": "string", "description": "Promotion Begin Date (UTC)." }, "endDateUtc": { "type": "string", "description": "Promotion End Date (UTC)." }, "lastModified": { "type": "string", "description": "When the Promotion was last modified." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "isActive": { "type": "boolean", "description": "If set as `true` the Promotion is activated. If set as `false` the Promotion is deactivated." }, "isArchived": { "type": "boolean", "description": "If set as `true` the Promotion is archived. If set as `false` the Promotion is not archived." }, "isFeatured": { "type": "boolean", "description": "Insert a flag with the promotion name used in the product's window display and page." }, "disableDeal": { "type": "boolean", "deprecated": true, "description": "Indicates whether a deal is disabled (`true`) or not (`false`)." }, "activeDaysOfWeek": { "type": "array", "description": "Defines which days of the week the promotion will applied.", "items": { "type": "string", "description": "Day of the week that the promotion will be valid." } }, "offset": { "type": "integer", "description": "Time offset from UTC in seconds." }, "activateGiftsMultiplier": { "type": "boolean", "description": "If set as `true`, it activates gifts Multiplier." }, "newOffset": { "type": "number", "description": "New time offset from UTC in seconds." }, "maxPricesPerItems": { "type": "array", "deprecated": true, "description": "List of prices per items.", "items": { "type": "string", "description": "Price." } }, "cumulative": { "type": "boolean", "description": "Defines if a promotion can accumulate with another one. (`true`) or not (`false`)." }, "effectType": { "type": "string", "description": "The type of effect that will apply to the promotion." }, "discountType": { "type": "string", "description": "The type of discount that will apply to the promotion." }, "nominalShippingDiscountValue": { "type": "number", "description": "Exact discount to be applied for the shipping value." }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum value for the shipping." }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value." }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\r\n-`item`: applies the intended nominal discount on every item present on the cart. \r\n-`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items." }, "maximumUnitPriceDiscount": { "type": "number", "description": "The maximum price for each item of the purchase will be the price set up." }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value." }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value." }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value." }, "percentualTax": { "type": "number", "description": "Percentual tax over purchase total value." }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual tax over purchase total value." }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions." }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`." }, "skusGift": { "type": "object", "description": "SKU Gift Object. Total discount on the product value set as a gift.", "properties": { "quantitySelectable": { "type": "integer", "description": "Quantity of SKU Gifts." }, "gifts": { "type": "integer", "description": "Array with SKU Gifts IDs." } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program." }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program." }, "orderStatusRewardValue": { "type": "string", "description": "Order status reward value." }, "maxNumberOfAffectedItems": { "type": "integer", "description": "The maximum number of affected items for a promotion." }, "maxNumberOfAffectedItemsGroupKey": { "type": "string", "description": "The maximum number of affected items by group key for a promotion." }, "applyToAllShippings": { "type": "boolean", "description": "Promotion will be applied to all kind of shipping." }, "nominalTax": { "type": "number", "description": "Nominal tax." }, "origin": { "type": "string", "description": "Origin of the promotion, `marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSeller": { "type": "string", "description": "Seller Name." }, "idSellerIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any seller present on the idSeller field. If set to `false`, sellers present on that field will make this promotion not to be applied." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion not to be applied." }, "marketingTags": { "type": "array", "description": "Promotion Marketing tags.", "items": { "type": "string", "description": "Promotion Marketing tag." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any marketing tag present on the `marketingTags` field. If set to `true`, marketing tags present on that field will make this promotion not to be applied." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion not to be applied." }, "utmSource": { "type": "string", "description": "Coupon utmSource code." }, "utmCampaign": { "type": "string", "description": "Coupon utmCampaign code." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount** or **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the promotion." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the promotion." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "If products that already are receiving a promotion, will be considered on the chart total value. There are three options available: `IncludeMatchedItems`, `ExcludeMatchedItems`, `AllItems`." }, "collections": { "type": "array", "description": "Array composed by the collections that will be activated or deactivated the promotion.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the promotion." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the promotion only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the promotion will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "clusterOperator": { "type": "string", "deprecated": true, "description": "Cluster operator." }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the promotion can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the promotion can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the promotion can be used multiple times per client." }, "accumulateWithManualPrice": { "type": "boolean", "description": "Allows the promotion to apply to products whose prices have been manually added by a call center operator." }, "type": { "type": "string", "description": "Defines what is the type of the promotion or indicates if it is a tax. Possible values: `regular` ([Regular Promotion](https://help.vtex.com/tutorial/regular-promotion--tutorials_327)), `combo` ([Buy Together](https://help.vtex.com/en/tutorial/buy-together--tutorials_323)), `forThePriceOf` ([More for Less](https://help.vtex.com/en/tutorial/creating-a-more-for-less-promotion--tutorials_325)), `progressive` ([Progressive Discount](https://help.vtex.com/en/tutorial/progressive-discount--tutorials_324)), `buyAndWin` ([Buy One Get One](https://help.vtex.com/en/tutorial/buy-one-get-one--tutorials_322)), `maxPricePerItem` (Deprecated), `campaign` ([Campaign Promotion](https://help.vtex.com/en/tutorial/campaign-promotion--1ChYXhK2AQGuS6wAqS8Ume)), `tax` (Tax), `multipleEffects` (Multiple Effects)." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } } } } } }, "/api/rnb/pvt/taxes/calculatorconfiguration": { "get": { "tags": [ "Promotions and taxes" ], "summary": "Get all taxes", "description": "Retrieves all taxes from an account.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetAllTaxes", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "limitConfiguration": { "activesCount": 1, "limit": 100 }, "items": [ { "idCalculatorConfiguration": "90f4affc-fea0-424c-a7a7-c69aec7bbdc8", "lastModifiedUtc": "2022-05-10T02:42:52.4493897Z", "name": "Government tax", "beginDate": "2022-05-09T03:00:00Z", "endDate": "2022-06-01T02:30:00Z", "isActive": true, "description": "Tax applied by the government", "type": "tax", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "status": "active", "percentualTax": 10.0, "isArchived": false, "hasMaxPricePerItem": false, "isTax": true, "Campaigns": [], "activateGiftsMultiplier": false, "scope": { "allCatalog": false, "skus": 1, "skusAreInclusive": true, "products": 1, "productsAreInclusive": true, "collections": 1, "collectionsAreInclusive": true, "categories": 1, "categoriesAreInclusive": true, "brands": 1, "brandsAreInclusive": true, "sellers": 0, "sellersAreInclusive": false }, "maxUsage": 0, "idsSalesChannel": [ "1" ], "areSalesChannelIdsExclusive": false } ], "disabledItems": [], "archivedItems": [] }, "schema": { "type": "object", "properties": { "limitConfiguration": { "type": "object", "description": "Limit configuration.", "properties": { "activesCount": { "type": "integer", "description": "Actives count." }, "limit": { "type": "integer", "description": "Limit." } } }, "items": { "$ref": "#/components/schemas/GetTaxes" }, "disabledItems": { "type": "array", "description": "Disabled items.", "items": { "type": "string", "description": "Disabled item." } }, "archivedItems": { "type": "array", "description": "Archived items.", "items": { "type": "string", "description": "Archived item." } } } } } } } }, "deprecated": false } }, "/api/rnb/pvt/calculatorconfiguration/{idCalculatorConfiguration}": { "get": { "tags": [ "Promotions and taxes" ], "summary": "Get promotion or tax by ID", "description": "Retrieves a specific promotion by its Promotion ID or a specific tax by its tax ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetCalculatorConfigurationById", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "idCalculatorConfiguration", "in": "path", "description": "Promotion ID or tax ID.", "required": true, "style": "simple", "schema": { "type": "string", "example": "d8a1cd2e-b667-4054-b3ae-b79124c7218e" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "idCalculatorConfiguration": "d8a1cd2e-b667-4054-b3ae-b79124c7218e", "name": "Social Seller Promotion", "beginDateUtc": "2020-05-01T18:47:15.89Z", "lastModified": "2021-02-23T20:58:38.7963862Z", "daysAgoOfPurchases": 0, "isActive": true, "isArchived": false, "isFeatured": false, "disableDeal": false, "activeDaysOfWeek": [], "offset": -3, "activateGiftsMultiplier": false, "newOffset": -3.0, "maxPricesPerItems": [], "cumulative": false, "discountType": "percentual", "nominalShippingDiscountValue": 0.0, "absoluteShippingDiscountValue": 0.0, "nominalDiscountValue": 0.0, "nominalDiscountType": "item", "maximumUnitPriceDiscount": 0.0, "percentualDiscountValue": 10.0, "rebatePercentualDiscountValue": 0.0, "percentualShippingDiscountValue": 0.0, "percentualTax": 0.0, "shippingPercentualTax": 0.0, "percentualDiscountValueList1": 0.0, "percentualDiscountValueList2": 0.0, "skusGift": { "quantitySelectable": 0 }, "nominalRewardValue": 0.0, "percentualRewardValue": 0.0, "orderStatusRewardValue": "invoiced", "maxNumberOfAffectedItems": 0, "maxNumberOfAffectedItemsGroupKey": "perCart", "applyToAllShippings": false, "nominalTax": 0.0, "origin": "marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [], "marketingTagsAreNotInclusive": false, "paymentsMethods": [ { "id": "202", "name": "Dinheiro (202)" }, { "id": "2", "name": "Visa (2)" } ], "stores": [], "campaigns": [], "conditionsIds": [ "372e1868-2c0e-4437-be45-1ef8c9cab735" ], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": false, "brands": [], "brandsAreInclusive": false, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "utmSource": "georgeSource", "utmCampaign": "georgeTest", "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 0, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [ { "id": "2", "name": "gustaBT" }, { "id": "5", "name": "exampleSKU" } ], "listSku2BuyTogether": [ { "id": "3", "name": "anotherSKU" }, { "id": "6", "name": "exampleProduct" } ], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": false, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "countries": [ "BRA" ], "itemMaxPrice": 0.0, "itemMinPrice": 0.0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "accumulateWithManualPrice": false, "type": "regular", "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] }, "schema": { "type": "object", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID." }, "name": { "type": "string", "description": "Promotion Name." }, "description": { "type": "string", "description": "Promotion internal description." }, "beginDateUtc": { "type": "string", "description": "Promotion Begin Date (UTC)." }, "endDateUtc": { "type": "string", "description": "Promotion End Date (UTC)." }, "lastModified": { "type": "string", "description": "When the Promotion was last modified." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "isActive": { "type": "boolean", "description": "If set as `true` the Promotion is activated. If set as `false` the Promotion is deactivated." }, "isArchived": { "type": "boolean", "description": "If set as `true` the Promotion is archived. If set as `false` the Promotion is not archived." }, "isFeatured": { "type": "boolean", "description": "Insert a flag with the promotion name used in the product's window display and page." }, "disableDeal": { "type": "boolean", "deprecated": true, "description": "Indicates whether a deal is disabled (`true`) or not (`false`)." }, "activeDaysOfWeek": { "type": "array", "description": "Defines which days of the week the promotion will applied.", "items": { "type": "string", "description": "Day of the week that the promotion will be valid." } }, "offset": { "type": "integer", "description": "Time offset from UTC in seconds." }, "activateGiftsMultiplier": { "type": "boolean", "description": "If set as `true`, it activates gifts Multiplier." }, "newOffset": { "type": "number", "description": "New time offset from UTC in seconds." }, "maxPricesPerItems": { "type": "array", "deprecated": true, "description": "List of max price per items.", "items": { "type": "string", "description": "Max price." } }, "cumulative": { "type": "boolean", "description": "Defines if a promotion can accumulate with another one. (`true`) or not (`false`)." }, "discountType": { "type": "string", "description": "The type of discount that will apply to the promotion." }, "nominalShippingDiscountValue": { "type": "number", "description": "Exact discount to be applied for the shipping value." }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum value for the shipping." }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value." }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\n\n -`item`: applies the intended nominal discount on every item present on the cart. \n\n -`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items." }, "maximumUnitPriceDiscount": { "type": "number", "description": "The maximum price for each item of the purchase will be the price set up." }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value." }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value." }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value." }, "percentualTax": { "type": "number", "description": "Percentual tax over purchase total value." }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual tax over purchase total value." }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions." }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`." }, "skusGift": { "type": "object", "description": "SKU Gift Object. Total discount on the product value set as a gift.", "properties": { "quantitySelectable": { "type": "integer", "description": "Quantity of SKU Gifts." }, "gifts": { "type": "integer", "description": "Array with SKU Gifts IDs." } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program." }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program." }, "orderStatusRewardValue": { "type": "string", "description": "Order status reward value." }, "maxNumberOfAffectedItems": { "type": "integer", "description": "The maximum number of affected items for a promotion." }, "maxNumberOfAffectedItemsGroupKey": { "type": "string", "description": "The maximum number of affected items by group key for a promotion." }, "applyToAllShippings": { "type": "boolean", "description": "Promotion will be applied to all kind of shipping." }, "nominalTax": { "type": "number", "description": "Nominal tax." }, "origin": { "type": "string", "description": "Origin of the promotion, `marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSeller": { "type": "string", "description": "Seller Name." }, "idSellerIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any seller present on the idSeller field. If set to `false`, sellers present on that field will make this promotion not to be applied." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion not to be applied." }, "marketingTags": { "type": "array", "description": "Promotion Marketing tags.", "items": { "type": "string", "description": "Promotion Marketing tag." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any marketing tag present on the `marketingTags` field. If set to `true`, marketing tags present on that field will make this promotion not to be applied." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the promotion.", "items": { "type": "object", "required": [ "id", "name" ], "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID.", "nullable": false }, "name": { "type": "string", "description": "SKU Name.", "nullable": false } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion not to be applied." }, "utmSource": { "type": "string", "description": "Coupon utmSource code." }, "utmCampaign": { "type": "string", "description": "Coupon utmCampaign code." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount** or **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the promotion." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the promotion." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "If products that already are receiving a promotion, will be considered on the chart total value. There are three options available: `IncludeMatchedItems`, `ExcludeMatchedItems`, `AllItems`." }, "collections": { "type": "array", "description": "Array composed by the collections that will be activated or deactivated the promotion.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the promotion." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the promotion only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code.", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "countries": { "type": "array", "description": "List of countries that are activated for this promotion.", "items": { "type": "string", "description": "Three-digit country code." } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the promotion will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "multipleSkusCause": { "type": "object", "description": "Object composed by a list of SKUs on a Multiple Effects promotion. Structure: `\"{SkuId}\": {PercentageDiscount}`. There is a limit of 400 SKUs for this type of promotion.", "additionalProperties": { "type": "string", "description": "SKU ID." } }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the promotion can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the promotion can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the promotion can be used multiple times per client." }, "accumulateWithManualPrice": { "type": "boolean", "description": "Allows the promotion to apply to products whose prices have been manually added by a call center operator." }, "type": { "type": "string", "description": "Defines what is the type of the promotion or indicates if it is a tax. Possible values: `regular` ([Regular Promotion](https://help.vtex.com/tutorial/regular-promotion--tutorials_327)), `combo` ([Buy Together](https://help.vtex.com/en/tutorial/buy-together--tutorials_323)), `forThePriceOf` ([More for Less](https://help.vtex.com/en/tutorial/creating-a-more-for-less-promotion--tutorials_325)), `progressive` ([Progressive Discount](https://help.vtex.com/en/tutorial/progressive-discount--tutorials_324)), `buyAndWin` ([Buy One Get One](https://help.vtex.com/en/tutorial/buy-one-get-one--tutorials_322)), `maxPricePerItem` (Deprecated), `campaign` ([Campaign Promotion](https://help.vtex.com/en/tutorial/campaign-promotion--1ChYXhK2AQGuS6wAqS8Ume)), `tax` (Tax), `multipleEffects` (Multiple Effects)." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } } }, "deprecated": false } }, "/api/rnb/pvt/calculatorconfiguration": { "post": { "tags": [ "Promotions and taxes" ], "summary": "Create or update promotion or tax", "description": "Creates or updates a specific Promotion by its Promotion ID or a specific tax by its tax ID.\r\n\r\n>\u26A0\uFE0F You should always include both the `id` and `name` when registering objects in the request body.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "CreateOrUpdateCalculatorConfiguration", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "requestBody": { "content": { "application/json": { "example": { "idCalculatorConfiguration": "d8a1cd2e-b667-4054-b3ae-b79124c7218e", "name": "Promotion Social Seller", "description": "Promotion for Social Seller", "beginDateUtc": "2020-05-01T18:47:15.89Z", "lastModified": "2021-09-17T18:13:16.2896414Z", "daysAgoOfPurchases": 0, "isActive": true, "isArchived": false, "isFeatured": false, "disableDeal": false, "activeDaysOfWeek": [], "offset": -3, "activateGiftsMultiplier": false, "newOffset": -3.0, "maxPricesPerItems": [], "cumulative": false, "discountType": "percentual", "nominalShippingDiscountValue": 0.0, "absoluteShippingDiscountValue": 0.0, "nominalDiscountValue": 10.0, "nominalDiscountType": "item", "maximumUnitPriceDiscount": 0.0, "percentualDiscountValue": 10.0, "rebatePercentualDiscountValue": 0.0, "percentualShippingDiscountValue": 0.0, "percentualTax": 0.0, "shippingPercentualTax": 0.0, "percentualDiscountValueList1": 0.0, "percentualDiscountValueList2": 0.0, "skusGift": { "quantitySelectable": 0 }, "nominalRewardValue": 0.0, "percentualRewardValue": 0.0, "orderStatusRewardValue": "invoiced", "maxNumberOfAffectedItems": 0, "maxNumberOfAffectedItemsGroupKey": "perCart", "applyToAllShippings": false, "nominalTax": 0.0, "origin": "marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "conditionsIds": [ "372e1868-2c0e-4437-be45-1ef8c9cab735" ], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": false, "brands": [], "brandsAreInclusive": false, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "utmSource": "georgeSource", "utmCampaign": "georgeTest", "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 0, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "coupon": [], "totalValueFloor": 0.0, "totalValueCeling": 0.0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": false, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0.0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "accumulateWithManualPrice": false, "type": "regular", "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] }, "schema": { "type": "object", "required": [ "type", "isActive", "origin", "beginDateUtc", "percentualShippingDiscountValue" ], "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID or tax ID.", "example": "ba087fa9-8587-44b3-8ef1-ade8d053e9e9" }, "name": { "type": "string", "description": "Promotion name or tax name.", "example": "Promoção Social Seller" }, "description": { "type": "string", "description": "Internal description of the promotion or tax.", "example": "Description of the promotion." }, "beginDateUtc": { "type": "string", "description": "Promotion or tax Begin Date (UTC).", "example": "2020-05-01T18:47:15.89Z" }, "endDateUtc": { "type": "string", "description": "Promotion or tax End Date (UTC).", "example": "2020-05-01T18:47:15.89Z" }, "lastModified": { "type": "string", "description": "Date when the promotion or tax was last modified.", "example": "2021-02-23T20:58:38.7963862Z" }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history.", "example": 0 }, "isActive": { "type": "boolean", "description": "If set as `true` the promotion or tax is activated. If set as `false` the promotion or tax is deactivated.", "example": true }, "isArchived": { "type": "boolean", "description": "If set as `true` the promotion or tax is archived. If set as `false` the promotion or tax is not archived.", "example": false }, "isFeatured": { "type": "boolean", "description": "Insert a flag with the promotion name used in the product's window display and page.", "example": true }, "disableDeal": { "type": "boolean", "deprecated": true, "description": "Indicates whether a deal is disabled (`true`) or not (`false`).", "example": false }, "activeDaysOfWeek": { "type": "array", "description": "Defines which days of the week the promotion or tax will applied.", "items": { "type": "string", "description": "Day of the week that the promotion or tax will be valid.", "example": "Monday" } }, "offset": { "type": "integer", "description": "Time offset from UTC in seconds.", "example": -3 }, "activateGiftsMultiplier": { "type": "boolean", "description": "If set as `true`, it activates gifts Multiplier.", "example": false }, "newOffset": { "type": "number", "description": "New time offset from UTC in seconds.", "example": -3 }, "maxPricesPerItems": { "type": "array", "deprecated": true, "description": "List of max price per items.", "items": { "type": "string", "description": "Max price.", "example": "100" } }, "cumulative": { "type": "boolean", "description": "Defines if a promotion or tax can accumulate with another one. (`true`) or not (`false`).", "example": false }, "discountType": { "type": "string", "description": "The type of discount that will apply to the promotion.", "example": "percentual" }, "nominalShippingDiscountValue": { "type": "number", "description": "Exact discount to be applied for the shipping value.", "example": 0 }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum shipping value.", "example": 0 }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value.", "example": 10 }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\n\n -`item`: applies the intended nominal discount on every item present on the cart. \n\n -`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items.", "example": "item" }, "maximumUnitPriceDiscount": { "type": "number", "description": "The maximum price for each item of the purchase will be the price set up.", "example": 0 }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value.", "example": 10 }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value.", "example": 0 }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value.", "example": 0 }, "percentualTax": { "type": "number", "description": "Percentual tax over purchase total value.", "example": 0 }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual tax over purchase total value.", "example": 0 }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions.", "example": 0 }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`.", "example": 0 }, "skusGift": { "type": "object", "description": "SKU Gift Object. Total discount on the product value set as a gift.", "properties": { "quantitySelectable": { "type": "integer", "description": "Quantity of SKU Gifts.", "example": 0 }, "gifts": { "type": "array", "description": "Array with SKU Gifts IDs.", "items": { "type": "string", "description": "SKU gift ID.", "example": "123" } } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program.", "example": 0 }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program.", "example": 0 }, "orderStatusRewardValue": { "type": "string", "description": "Order status reward value.", "example": "invoiced" }, "maxNumberOfAffectedItems": { "type": "integer", "description": "The maximum number of affected items for a promotion.", "example": 0 }, "maxNumberOfAffectedItemsGroupKey": { "type": "string", "description": "The maximum number of affected items by group key for a promotion.", "example": "perCart" }, "applyToAllShippings": { "type": "boolean", "description": "Promotion or tax will be applied to all kind of shipping.", "example": false }, "nominalTax": { "type": "number", "description": "Nominal tax.", "example": 0 }, "origin": { "type": "string", "description": "Origin of the promotion or tax, `marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information.", "example": "marketplace" }, "idSeller": { "type": "string", "description": "Seller Name.", "example": "1" }, "idSellerIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any seller present on the `idSeller` field. If set to `false`, sellers present on that field will make this promotion or tax not to be applied.", "example": false }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion or tax.", "items": { "type": "string", "description": "Trade policy ID.", "example": "Principal" } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion or tax will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion or tax not to be applied.", "example": false }, "marketingTags": { "type": "array", "description": "Promotion or tax Marketing tags.", "items": { "type": "string", "description": "Promotion or tax Marketing tag.", "example": "MKT1" } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "If set to `false`, this promotion or tax will be applied to any marketing tag present on the `marketingTags` field. If set to `true`, marketing tags present on that field will make this promotion or tax not to be applied.", "example": false }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods that activate this promotion or tax.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID.", "example": "2" }, "name": { "type": "string", "description": "Payment Method Name.", "example": "Visa (2)" } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store.", "example": "store" } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience.", "example": "campaign" } }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID.", "example": "1" } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied.", "example": false }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID.", "example": "1" }, "name": { "type": "string", "description": "Category Name.", "example": "Vinhos Tintos (1)" } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion or tax not to be applied.", "example": true }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID.", "example": "1" }, "name": { "type": "string", "description": "Brand Name.", "example": "Brand (1)" } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion or tax not to be applied.", "example": true }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID.", "example": "1" }, "name": { "type": "string", "description": "Product Name.", "example": "Vinho (1)" } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion or tax not to be applied.", "example": true }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID.", "example": "1" }, "name": { "type": "string", "description": "SKU Name.", "example": "Vinho tinto (1)" } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion or tax not to be applied.", "example": true }, "utmSource": { "type": "string", "description": "Coupon utmSource code.", "example": "testSource" }, "utmCampaign": { "type": "string", "description": "Coupon utmCampaign code.", "example": "testSource" }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount** or **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion.", "example": "157" }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion.", "example": "Inverno (157)" } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion.", "example": "157" }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion.", "example": "Inverno (157)" } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion.", "example": 0 }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion.", "example": 0 }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU.", "example": false }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "White Shirt" } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "White Shirt" } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon.", "example": "12345" } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the promotion or tax.", "example": 0 }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the promotion or tax.", "example": 0 }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total vale including all items.", "example": false }, "totalValueMode": { "type": "string", "description": "Defines if products that already are receiving a promotion will be considered on the chart total value. There are three options available: `IncludeMatchedItems`, `ExcludeMatchedItems`, `AllItems`.", "example": "IncludeMatchedItems" }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the promotion or tax.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID.", "example": "1" }, "name": { "type": "string", "description": "Collection Name.", "example": "Collection (1)" } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion or tax will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion or tax not to be applied.", "example": false }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN.", "example": "1234" } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer.", "example": "issuer" } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to activate the promotion or tax.", "example": 0 }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method.", "example": "Express" } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer.", "example": false }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy.", "example": false }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged.", "example": false }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same.", "example": false }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the promotion or tax only if the list price and price is different.", "example": false }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code.", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code.", "example": "20000-000" }, "zipCodeTo": { "type": "string", "description": "Final Zip Code.", "example": "20000-100" }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion.", "example": true } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item.", "example": 0 }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item.", "example": 0 }, "installment": { "type": "integer", "deprecated": true, "description": "Installment.", "example": 1 }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the promotion or tax will be applied considering a minimum and maximum values for installments.", "example": false }, "minInstallment": { "type": "integer", "description": "Minimum value for installment.", "example": 0 }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment.", "example": 0 }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant.", "example": "merchant" } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression.", "example": "email contains user@mail.com" } }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule.", "example": "rules" } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type.", "example": "Gift SKU" } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification.", "example": "spec" } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID.", "example": "1" }, "name": { "type": "string", "description": "Affiliate Name.", "example": "Amazon" } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the promotion or tax can be used.", "example": 0 }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the promotion can be used multiple times per client.", "example": 0 }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items.", "example": false }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the promotion can be used multiple times per client.", "example": false }, "accumulateWithManualPrice": { "type": "boolean", "description": "Allows the promotion to apply to products whose prices have been manually added by a call-center operator.", "example": false }, "type": { "type": "string", "description": "Defines what is the type of the promotion or indicates if it is a tax. Possible values: `regular` ([Regular Promotion](https://help.vtex.com/tutorial/regular-promotion--tutorials_327)), `combo` ([Buy Together](https://help.vtex.com/en/tutorial/buy-together--tutorials_323)), `forThePriceOf` ([More for Less](https://help.vtex.com/en/tutorial/creating-a-more-for-less-promotion--tutorials_325)), `progressive` ([Progressive Discount](https://help.vtex.com/en/tutorial/progressive-discount--tutorials_324)), `buyAndWin` ([Buy One Get One](https://help.vtex.com/en/tutorial/buy-one-get-one--tutorials_322)), `maxPricePerItem` (Deprecated), `campaign` ([Campaign Promotion](https://help.vtex.com/en/tutorial/campaign-promotion--1ChYXhK2AQGuS6wAqS8Ume)), `tax` (Tax), `multipleEffects` (Multiple Effects).", "example": "regular" }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm.", "example": false }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value.", "example": 10 } } } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "idCalculatorConfiguration": "d8a1cd2e-b667-4054-b3ae-b79124c7218e", "name": "Promoção Social Seller", "beginDateUtc": "2020-05-01T18:47:15.89Z", "lastModified": "2021-02-23T20:58:38.7963862Z", "daysAgoOfPurchases": 0, "isActive": true, "isArchived": false, "isFeatured": false, "disableDeal": false, "activeDaysOfWeek": [], "offset": -3, "activateGiftsMultiplier": false, "newOffset": -3.0, "maxPricesPerItems": [], "cumulative": false, "discountType": "percentual", "nominalShippingDiscountValue": 0.0, "absoluteShippingDiscountValue": 0.0, "nominalDiscountValue": 0.0, "maximumUnitPriceDiscount": 0.0, "percentualDiscountValue": 10.0, "rebatePercentualDiscountValue": 0.0, "percentualShippingDiscountValue": 0.0, "percentualTax": 0.0, "shippingPercentualTax": 0.0, "percentualDiscountValueList1": 0.0, "percentualDiscountValueList2": 0.0, "skusGift": { "quantitySelectable": 0 }, "nominalRewardValue": 0.0, "percentualRewardValue": 0.0, "orderStatusRewardValue": "invoiced", "maxNumberOfAffectedItems": 0, "maxNumberOfAffectedItemsGroupKey": "perCart", "applyToAllShippings": false, "nominalTax": 0.0, "origin": "marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [], "marketingTagsAreNotInclusive": false, "paymentsMethods": [ { "id": "202", "name": "Dinheiro (202)" }, { "id": "2", "name": "Visa (2)" } ], "stores": [], "campaigns": [], "conditionsIds": [ "372e1868-2c0e-4437-be45-1ef8c9cab735" ], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": false, "brands": [], "brandsAreInclusive": false, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "utmSource": "georgeSource", "utmCampaign": "georgeTest", "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 0, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": false, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "accumulateWithManualPrice": false, "type": "regular", "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] }, "schema": { "type": "object", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID." }, "name": { "type": "string", "description": "Promotion Name." }, "description": { "type": "string", "description": "Promotion internal description." }, "beginDateUtc": { "type": "string", "description": "Promotion Begin Date (UTC)." }, "endDateUtc": { "type": "string", "description": "Promotion End Date (UTC)." }, "lastModified": { "type": "string", "description": "When the Promotion was last modified." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "isActive": { "type": "boolean", "description": "If set as `true` the Promotion is activated. If set as `false` the Promotion is deactivated." }, "isArchived": { "type": "boolean", "description": "If set as `true` the Promotion is archived. If set as `false` the Promotion is not archived." }, "isFeatured": { "type": "boolean", "description": "Insert a flag with the promotion name used in the product's window display and page." }, "disableDeal": { "type": "boolean", "deprecated": true, "description": "Indicates whether a deal is disabled (`true`) or not (`false`)." }, "activeDaysOfWeek": { "type": "array", "description": "Defines which days of the week the promotion will applied.", "items": { "type": "string", "description": "Day of the week that the promotion will be valid." } }, "offset": { "type": "integer", "description": "Time offset from UTC in seconds." }, "activateGiftsMultiplier": { "type": "boolean", "description": "If set as `true`, it activates gifts Multiplier." }, "newOffset": { "type": "number", "description": "New time offset from UTC in seconds." }, "maxPricesPerItems": { "type": "array", "deprecated": true, "description": "List of max price per items.", "items": { "type": "string", "description": "Max price." } }, "cumulative": { "type": "boolean", "description": "Defines if a promotion can accumulate with another one. (`true`) or not (`false`)." }, "discountType": { "type": "string", "description": "The type of discount that will apply to the promotion." }, "nominalShippingDiscountValue": { "type": "number", "description": "Exact discount to be applied for the shipping value." }, "absoluteShippingDiscountValue": { "type": "number", "description": "Maximum shipping value." }, "nominalDiscountValue": { "type": "number", "description": "Exact discount to be applied for the total purchase value." }, "maximumUnitPriceDiscount": { "type": "number", "description": "The maximum price for each item of the purchase will be the price set up." }, "percentualDiscountValue": { "type": "number", "description": "Percentage discount to be applied for total purchase value." }, "rebatePercentualDiscountValue": { "type": "number", "description": "Percentual Shipping Discount Value." }, "percentualShippingDiscountValue": { "type": "number", "description": "Percentage discount to be applied for shipping value." }, "percentualTax": { "type": "number", "description": "Percentual tax over purchase total value." }, "shippingPercentualTax": { "type": "number", "description": "Shipping Percentual tax over purchase total value." }, "percentualDiscountValueList1": { "type": "number", "description": "Valid discounts for the SKUs in `listSku1BuyTogether`, discount list used for Buy Together Promotions." }, "percentualDiscountValueList2": { "type": "number", "description": "Equivalent to `percentualDiscountValueList1`." }, "skusGift": { "type": "object", "description": "SKU Gift Object. Total discount on the product value set as a gift.", "properties": { "quantitySelectable": { "type": "integer", "description": "Quantity of SKU Gifts." }, "gifts": { "type": "integer", "description": "Array with SKU Gifts IDs." } } }, "nominalRewardValue": { "type": "number", "description": "Nominal value for rewards program." }, "percentualRewardValue": { "type": "number", "description": "Percentage value for rewards program." }, "orderStatusRewardValue": { "type": "string", "description": "Order status reward value." }, "maxNumberOfAffectedItems": { "type": "integer", "description": "The maximum number of affected items for a promotion." }, "maxNumberOfAffectedItemsGroupKey": { "type": "string", "description": "The maximum number of affected items by group key for a promotion." }, "applyToAllShippings": { "type": "boolean", "description": "Promotion will be applied to all kind of shipping." }, "nominalTax": { "type": "number", "description": "Nominal tax." }, "origin": { "type": "string", "description": "Origin of the promotion, `marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSeller": { "type": "string", "description": "Seller Name." }, "idSellerIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any seller present on the `idSeller` field. If set to `false`, sellers present on that field will make this promotion not to be applied." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion not to be applied." }, "marketingTags": { "type": "array", "description": "Promotion Marketing tags.", "items": { "type": "string", "description": "Promotion Marketing tag." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any marketing tag present on the `marketingTags` field. If set to `true`, marketing tags present on that field will make this promotion not to be applied." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "conditionsIds": { "type": "array", "description": "Array with conditions IDs.", "items": { "type": "string", "description": "Condition ID." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion not to be applied." }, "utmSource": { "type": "string", "description": "Coupon utmSource code." }, "utmCampaign": { "type": "string", "description": "Coupon utmCampaign code." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to activate the promotion." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to activate the promotion." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "Defines if products that already are receiving a promotion will be considered on the chart total value. There are three options available: `IncludeMatchedItems`, `ExcludeMatchedItems`, `AllItems`." }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the promotion.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the promotion." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the promotion only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code.", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the promotion will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the promotion can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the promotion can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the promotion can be used multiple times per client." }, "accumulateWithManualPrice": { "type": "boolean", "description": "Allows the promotion to apply to products whose prices have been manually added by a call-center operator." }, "type": { "type": "string", "description": "Defines what is the type of the promotion or indicates if it is a tax. Possible values: `regular` ([Regular Promotion](https://help.vtex.com/tutorial/regular-promotion--tutorials_327)), `combo` ([Buy Together](https://help.vtex.com/en/tutorial/buy-together--tutorials_323)), `forThePriceOf` ([More for Less](https://help.vtex.com/en/tutorial/creating-a-more-for-less-promotion--tutorials_325)), `progressive` ([Progressive Discount](https://help.vtex.com/en/tutorial/progressive-discount--tutorials_324)), `buyAndWin` ([Buy One Get One](https://help.vtex.com/en/tutorial/buy-one-get-one--tutorials_322)), `maxPricePerItem` (Deprecated), `campaign` ([Campaign Promotion](https://help.vtex.com/en/tutorial/campaign-promotion--1ChYXhK2AQGuS6wAqS8Ume)), `tax` (Tax), `multipleEffects` (Multiple Effects)." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } }, "400": { "description": "Bad request.", "content": { "application/json": { "schema": { "type": "object", "properties": { "errors": { "type": "object", "description": "Object with errors.", "additionalProperties": { "type": "array", "description": "Array with error messages.", "items": { "type": "string", "description": "Error message.\n\nThe error message can vary as follows:\n- The `skus` object needs to have a valid `id` attribute.\n- The `products` object needs to have a valid `id` attribute.\n- The `brands` object needs to have a valid `id` attribute.\n- The `categories` object needs to have a valid `id` attribute.\n- The `paymentsMethods` object needs to have a valid `id` attribute." } } }, "status": { "type": "integer", "description": "Status code." }, "title": { "type": "string", "description": "Error title." }, "type": { "type": "string", "description": "Error detail." } } }, "example": { "error": { "": [ "The `skus` object needs to have a valid `id` attribute." ] }, "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400 } } } } }, "deprecated": false } }, "/api/rnb/pvt/import/calculatorConfiguration": { "post": { "tags": [ "Promotions and taxes" ], "operationId": "CreateMultipleSkuPromotion", "summary": "Create multiple SKU promotion", "description": "Creates a Multiple SKU promotion. This scenario allows the creation of a single promotion for multiples SKUs with the Percentage Effect. \r\n>⚠️ The limit of SKUs on a Multiple Effects promotion is 400.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "example": "text/csv" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "X-VTEX-calculator-name", "in": "header", "description": "Promotion Name.", "required": true, "style": "simple", "schema": { "type": "string", "example": "Test" } }, { "name": "X-VTEX-cumulative", "in": "header", "description": "Defines if the Promotion is cumulative with other promotions.", "required": false, "style": "simple", "schema": { "type": "boolean", "example": false } }, { "name": "X-VTEX-cluster-operator", "in": "header", "description": "This header allows implementing the Promotion in multiples client clusters. You can set the value as `all` - the Promotion will be valid to all the clusters - or `any` - the Promotion will be valid to any of the clusters.", "required": false, "style": "simple", "schema": { "type": "string", "example": "any" } }, { "name": "X-VTEX-cluster-expression", "in": "header", "description": "Cluster that will be included in the Promotion. To add multiple clusters, create a header for each one of them.", "required": false, "style": "simple", "schema": { "type": "string", "example": "cluster_name=true" } }, { "name": "X-VTEX-start-date", "in": "header", "description": "Promotion start date.", "required": true, "style": "simple", "schema": { "type": "string", "example": "2020-08-18T16:00:00+3:00" } }, { "name": "X-VTEX-end-date", "in": "header", "description": "Promotion end date.", "required": true, "style": "simple", "schema": { "type": "string", "example": "2020-08-18T16:30:00+3:00" } }, { "name": "X-VTEX-accumulate-with-manual-prices", "in": "header", "description": "Condition that will accumulate the Promotion with manual prices or not.", "required": true, "style": "simple", "schema": { "type": "boolean", "example": false } } ], "responses": { "200": { "description": "OK" } }, "requestBody": { "content": { "text/csv": { "schema": { "type": "string", "format": "binary", "description": "The file must contain the SKU ID and the percentage of the discount. The first line must have the headers `sku` and `effect`. The next lines must be the SKU ID and the percentage, without any spaces. For decimal values, use `.` as in `10.5`. This should be sent as a raw text on the request body.", "example": "sku,effect\r\n1,10.5" } } } } } }, "/api/rnb/pvt/import/calculatorConfiguration/{promotionId}": { "put": { "tags": [ "Promotions and taxes" ], "operationId": "UpdateMultipleSkuPromotion", "summary": "Update multiple SKU promotion", "description": "Updates information from a Multiple SKU promotion. This scenario allows the creation of a single promotion for multiple SKUs with the Percentage Effect. \r\n>⚠️ The limit of SKUs on a Multiple Effects promotion is 400.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "example": "text/csv" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "X-VTEX-calculator-name", "in": "header", "description": "Promotion Name.", "required": true, "style": "simple", "schema": { "type": "string", "example": "Test" } }, { "name": "X-VTEX-cumulative", "in": "header", "description": "Defines if the Promotion is cumulative with other promotions.", "required": false, "style": "simple", "schema": { "type": "boolean", "example": false } }, { "name": "X-VTEX-cluster-operator", "in": "header", "description": "This header allows implementing the Promotion in multiples client clusters. You can set the value as `all` - the Promotion will be valid to all the clusters - or `any` - the Promotion will be valid to any of the clusters.", "required": false, "style": "simple", "schema": { "type": "string", "example": "any" } }, { "name": "X-VTEX-cluster-expression", "in": "header", "description": "Cluster that will be included in the Promotion. To add multiple clusters, create a header for each one of them.", "required": false, "style": "simple", "schema": { "type": "string", "example": "cluster_name=true" } }, { "name": "X-VTEX-start-date", "in": "header", "description": "Promotion start date.", "required": true, "style": "simple", "schema": { "type": "string", "example": "2020-08-18T16:00:00+3:00" } }, { "name": "X-VTEX-end-date", "in": "header", "description": "Promotion end date.", "required": true, "style": "simple", "schema": { "type": "string", "example": "2020-08-18T16:30:00+3:00" } }, { "name": "X-VTEX-accumulate-with-manual-prices", "in": "header", "description": "Condition that will accumulate the Promotion with manual prices or not.", "required": true, "style": "simple", "schema": { "type": "boolean", "example": false } }, { "name": "promotionId", "in": "path", "required": true, "description": "Promotion unique identifier.", "schema": { "type": "string", "example": "dc6b6f59-ec2b-4a13-8490-0d1e0c53ddf9" } } ], "responses": { "202": { "description": "Accepted" } }, "requestBody": { "content": { "text/csv": { "schema": { "type": "string", "format": "binary", "description": "The file must contain the SKU ID and the percentage of the discount. The first line must have the headers `sku` and `effect`. The next lines must be the SKU ID and the percentage, without any spaces. For decimal values, use `.` as in `10.5`. This should be sent as a raw text on the request body.", "example": "sku,effect\r\n1,10.5" } } } } } }, "/api/rnb/pvt/archive/calculatorConfiguration/{idCalculatorConfiguration}": { "post": { "tags": [ "Promotions and taxes" ], "operationId": "ArchivePromotion", "summary": "Archive promotion or tax", "description": "Archives a promotion or tax by its ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "idCalculatorConfiguration", "in": "path", "description": "Promotion ID or tax ID.", "required": true, "style": "simple", "schema": { "type": "string", "example": "d8a1cd2e-b667-4054-b3ae-b79124c7218e" } } ], "responses": { "204": { "description": "No Content" } } } }, "/api/rnb/pvt/unarchive/calculatorConfiguration/{idCalculatorConfiguration}": { "post": { "tags": [ "Promotions and taxes" ], "operationId": "UnarchivePromotion", "summary": "Unarchive promotion or tax", "description": "Unarchives a promotion or tax by its ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "idCalculatorConfiguration", "in": "path", "description": "Promotion ID or tax ID.", "required": true, "style": "simple", "schema": { "type": "string", "example": "d8a1cd2e-b667-4054-b3ae-b79124c7218e" } } ], "responses": { "204": { "description": "No Content" } } } }, "/api/rnb/pvt/archive/benefits/calculatorConfiguration": { "get": { "tags": [ "Promotions and taxes" ], "operationId": "GetArchivedPromotions", "summary": "List archived promotions", "description": "Lists all archived promotions.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "items": [ { "idCalculatorConfiguration": "05558233-b415-4f2e-9822-ebdb3918623b", "lastModifiedUtc": "2021-04-30T17:56:29.7157634Z", "name": "Promoção Progressiva", "beginDate": "2021-04-15T03:00:00Z", "endDate": "2021-04-16T02:30:00Z", "isActive": false, "description": "Progressive discount promotion.", "type": "progressive", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "nominalDiscountType": "item", "status": "inactive", "percentualTax": 0.0, "isArchived": true, "hasMaxPricePerItem": false, "isTax": false, "Campaigns": [], "activateGiftsMultiplier": false, "scope": { "allCatalog": true, "skus": 0, "skusAreInclusive": true, "products": 0, "productsAreInclusive": true, "collections": 0, "collectionsAreInclusive": true, "categories": 0, "categoriesAreInclusive": true, "brands": 0, "brandsAreInclusive": true, "sellers": 0, "sellersAreInclusive": true }, "maxUsage": 0, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false } ] }, "schema": { "type": "object", "description": "Response object.", "properties": { "items": { "$ref": "#/components/schemas/GetPromotions" }, "nominalDiscountType": { "type": "string", "description": "Controls the behavior of the `NominalDiscount` effect. This field only accepts two string values:\n\n -`item`: applies the intended nominal discount on every item present on the cart. \n\n -`cart`: keeps the behavior as it currently is: the whole order/cart receives a nominal discount that is distributed among the items." } } } } } } }, "deprecated": false } }, "/api/rnb/pvt/archive/taxes/calculatorConfiguration": { "get": { "tags": [ "Promotions and taxes" ], "operationId": "GetArchivedTaxes", "summary": "List archived taxes", "description": "Lists all archived taxes.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "items": [ { "idCalculatorConfiguration": "90f4affc-fea0-424c-a7a7-c69aec7bbdc8", "lastModifiedUtc": "2022-05-16T19:43:06.1801742Z", "name": "Test Tax", "beginDate": "2022-05-09T03:00:00Z", "endDate": "2022-06-01T02:30:00Z", "isActive": false, "description": "My description", "type": "tax", "utmSource": "", "utmCampain": "", "utmiCampaign": "", "status": "inactive", "percentualTax": 10.0, "isArchived": true, "hasMaxPricePerItem": false, "isTax": true, "Campaigns": [], "activateGiftsMultiplier": false, "scope": { "allCatalog": false, "skus": 1, "skusAreInclusive": true, "products": 1, "productsAreInclusive": true, "collections": 1, "collectionsAreInclusive": true, "categories": 1, "categoriesAreInclusive": true, "brands": 1, "brandsAreInclusive": true, "sellers": 0, "sellersAreInclusive": false }, "maxUsage": 0, "idsSalesChannel": [ "1" ], "areSalesChannelIdsExclusive": false } ] }, "schema": { "type": "object", "description": "Response object.", "properties": { "items": { "$ref": "#/components/schemas/GetTaxes" } } } } } } }, "deprecated": false } }, "/price-sheet/{skuId}": { "get": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Get price by SKU ID", "description": "Retrieve price given an SKU ID.\n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://developers.vtex.com/docs/api-reference/pricing-api)\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PricebyskuId", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "skuId", "in": "path", "description": "SKU ID.", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "id": 100006808, "itemId": 100006808, "salesChannel": 0, "sellerId": "1", "price": 10.0, "listPrice": 10.0, "validFrom": "2023-01-01T03:00:00", "validTo": "2025-01-01T03:00:00", "lastUpdate": "2023-12-20T10:58:55.2417", "hash": "1000068081000068081101001/01/1900 03:00:0001/01/4000 03:00:0012/20/2023 10:58:55" } ], "schema": { "type": "array", "description": "List of prices.", "items": { "description": "Object containing information about prices.", "type": "object", "properties": { "id": { "type": "integer", "description": "Product ID." }, "itemId": { "type": "integer", "description": "Item ID." }, "salesChannel": { "type": "integer", "description": "Sales channel." }, "sellerId": { "type": "string", "description": "Seller ID." }, "price": { "type": "number", "description": "Item price." }, "listPrice": { "type": "number", "description": "Item list price." }, "ValidFrom": { "type": "string", "description": "Indicates the date and time when the fixed price will start to be valid." }, "ValidTo": { "type": "string", "description": "Indicates the date and time from whic the fixed price will no longer be valid." }, "lastUpdate": { "type": "string", "description": "Indicates the date and time on wich the price was last updated." }, "hash": { "type": "string", "description": "hash." } } } } } } } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] }, "delete": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Delete price by SKU ID", "description": "Delete all prices from an SKU. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "DeletebyskuId", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "skuId", "in": "path", "description": "SKU ID.", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "exampleParameterValue" } } } ] } }, "/price-sheet/all/{page}/{pageSize}": { "get": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Get all paged prices", "description": "Get all paged prices. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getallpaged", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "page", "in": "path", "description": "Page number for pagination.", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "pageSize", "in": "path", "description": "Size of each page for pagination.", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/price-sheet/context": { "post": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Get price by context", "description": "Get price by context. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Pricebycontext", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "id", "itemId", "salesChannel", "sellerId", "validFrom", "validTo" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32", "description": "Price ID.", "example": 6324 }, "itemId": { "type": "integer", "format": "int32", "description": "Item ID.", "example": 2390148 }, "salesChannel": { "type": "integer", "format": "int32", "description": "Sales channel.", "example": 1 }, "sellerId": { "type": "string", "description": "Seller ID.", "example": "1" }, "validFrom": { "type": "string", "description": "Valid from.", "example": "2000-01-01T00:00:00" }, "validTo": { "type": "string", "description": "Valid to.", "example": "2000-02-01T00:00:00" } } }, "example": { "id": 6324, "itemId": 2390148, "salesChannel": 1, "sellerId": "1", "validFrom": "2000-01-01T00:00:00", "validTo": "2000-02-01T00:00:00" } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/price-sheet/{skuId}/{tradePolicy}": { "get": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Get price by SKU ID and trade policy", "description": "Retrieve price by SKU ID and trade policy. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PricebyskuIdandtradePolicy", "parameters": [ { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "an", "in": "query", "description": "Account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } }, { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "skuId", "in": "path", "description": "SKU ID.", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "tradePolicy", "in": "path", "description": "Trade policy name.", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "id": 100006808, "itemId": 100006808, "salesChannel": 0, "sellerId": "1", "price": 10.0, "listPrice": 10.0, "validFrom": "2023-01-01T03:00:00", "validTo": "2025-01-01T03:00:00", "lastUpdate": "2023-12-20T10:58:55.2417", "hash": "1000068081000068081101001/01/1900 03:00:0001/01/4000 03:00:0012/20/2023 10:58:55" } ], "schema": { "type": "array", "description": "List of prices.", "items": { "description": "Object containing information about prices.", "type": "object", "properties": { "id": { "type": "integer", "description": "Product ID." }, "itemId": { "type": "integer", "description": "Item ID." }, "salesChannel": { "type": "integer", "description": "Sales channel." }, "sellerId": { "type": "string", "description": "Seller ID." }, "price": { "type": "number", "description": "Item price." }, "listPrice": { "type": "number", "description": "Item list price." }, "ValidFrom": { "type": "string", "description": "Indicates the date and time when the fixed price will start to be valid." }, "ValidTo": { "type": "string", "description": "Indicates the date and time from whic the fixed price will no longer be valid." }, "lastUpdate": { "type": "string", "description": "Indicates the date and time on wich the price was last updated." }, "hash": { "type": "string", "description": "hash." } } } } } } } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/price-sheet": { "post": { "tags": [ "Prices (Legacy - v1)" ], "summary": "Save price", "description": "Save price. \n> If your account is using Pricing v2, you should avoid using these routes. Please refer directly to the [Pricing v2 API](https://documenter.getpostman.com/view/101975/vtex-pricing-api/6YsWxKT) \n\n> If you are still using Pricing v1, please [check if your store is able to migrate to take advantage of many more features](https://help.vtex.com/en/faq/how-to-migrate-a-store-to-pricing-v2)\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Promotions | **Manage benefits and rates** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Saveprice", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "an", "in": "query", "description": "VTEX account name.", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "example": "{{accountName}}" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "array", "description": "List of prices.", "items": { "description": "Object containing information about the prices.", "required": [ "itemId", "salesChannel", "sellerId", "price", "listPrice", "validFrom", "validTo" ], "type": "object", "properties": { "itemId": { "type": "integer", "format": "int32", "example": 2390148, "description": "Item ID." }, "salesChannel": { "type": "integer", "format": "int32", "example": 1, "description": "Sales channel." }, "sellerId": { "type": "integer", "format": "int32", "example": 1, "description": "Seller ID." }, "price": { "type": "integer", "format": "int32", "example": 1, "description": "Price." }, "listPrice": { "type": "integer", "format": "int32", "example": 1, "description": "List price." }, "validFrom": { "type": "string", "example": "2016-01-01T02:00:00Z", "description": "Valid from." }, "validTo": { "type": "string", "example": "2016-01-01T02:00:00Z", "description": "Valid to." } } } }, "example": [ { "itemId": 2390148, "salesChannel": 1, "sellerId": 1, "price": 1, "listPrice": 1, "validFrom": "2016-01-01T02:00:00Z", "validTo": "2017-01-01T02:00:00Z" } ] } }, "required": true }, "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "https://rnb.{environment}.com.br/api/pricing/pvt", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/pub/bundles": { "post": { "tags": [ "Bundles" ], "summary": "Calculate discounts and taxes bundles", "description": "Calculate discounts and taxes\r\n\r\n## Permissions\r\n\r\nThis endpoint is usually used internally for backend services and does not require user [permissions]((https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3)).", "operationId": "Calculatediscountsandtaxes(Bundles)", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "isShoppingCart", "origin", "salesChannel", "profileId", "items", "params" ], "type": "object", "properties": { "isShoppingCart": { "type": "boolean", "description": "Indicates whether the item is a shopping cart.", "example": false }, "origin": { "type": "string", "description": "Origin.", "example": "origin" }, "salesChannel": { "type": "string", "description": "Sales channel.", "example": "channel" }, "profileId": { "type": "string", "description": "Profile ID.", "example": "1" }, "items": { "type": "array", "description": "List of items.", "items": { "description": "Object containing information about the items.", "required": [ "index", "id", "quantity", "isGift", "measurementUnit", "unitMultiplier", "priceTags", "params", "priceSheet", "logisticsInfos", "sellerId", "productSpecifications" ], "type": "object", "properties": { "index": { "type": "integer", "format": "int32", "description": "Index.", "example": 1 }, "id": { "type": "string", "description": "Item ID.", "example": "1" }, "quantity": { "type": "integer", "format": "int32", "description": "The quantity of the item.", "example": 1 }, "isGift": { "type": "boolean", "description": "Indicates whether the item is a gift.", "example": true }, "measurementUnit": { "type": "string", "description": "Measurement unit.", "example": "un" }, "unitMultiplier": { "type": "integer", "format": "int32", "description": "Unit multiplier.", "example": 1 }, "priceTags": { "type": "array", "description": "List of price tags.", "items": { "type": "string", "description": "Price tag.", "example": "tag" } }, "params": { "type": "array", "description": "List of parameters.", "items": { "description": "Object containing information about the parameters.", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "type": "string", "example": "Seller@CatalogSystem", "description": "Name of the item." }, "value": { "type": "string", "example": "1", "description": "Value." } } } }, "priceSheet": { "type": "array", "description": "List of price sheet.", "items": { "type": "string", "description": "Price sheet.", "example": "pricesheet" } }, "logisticsInfos": { "type": "array", "description": "List of logistics information.", "items": { "type": "string", "description": "Logistic information.", "example": "logistic" } }, "sellerId": { "type": "string", "description": "Seller ID.", "example": "1" }, "productSpecifications": { "type": "array", "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification.", "example": "spefification" } } } } } } }, "example": { "isShoppingCart": true, "origin": "Marketplace", "salesChannel": "1", "profileId": "aa", "items": [ { "index": 0, "id": "160", "quantity": 3, "isGift": false, "measurementUnit": "un", "unitMultiplier": 1, "priceTags": [], "params": [ { "name": "Seller@CatalogSystem", "value": "1" }, { "name": "product@CatalogSystem", "value": "94" } ], "priceSheet": [], "logisticsInfos": [], "sellerId": "1", "productSpecifications": [] } ], "params": [ { "name": "product@CatalogSystem", "value": "2662" }, { "name": "couponCode@Marketing", "value": "coupon" } ] } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "http://example.com/.{environment}.com.br/api/rnb", "variables": { "environment": { "default": "vtexcommercestable" } } } ] } }, "/api/rnb/pvt/campaignConfiguration/{campaignId}": { "get": { "tags": [ "Campaign Audiences" ], "summary": "Get campaign audience configuration", "description": "Retrieves a specific campaign audience configuration by its ID. This API uses the campaign ID, not the campaign name.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getcampaignconfiguration", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "campaignId", "in": "path", "description": "Campaign audience unique identifier.", "required": true, "style": "simple", "schema": { "type": "string", "example": "dd270d06-1ed1-47fc-b04e-a2431121b5a4" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "beginDateUtc": "2020-05-01T21:30:00Z", "endDateUtc": "2020-05-02T01:30:00Z", "id": "dd270d06-1ed1-47fc-b04e-a2431121b5a4", "name": "Interna", "isActive": true, "isAndOperator": false, "isArchived": false, "lastModified": { "dateUtc": "2020-05-01T21:22:01.807398Z", "user": "email@email.com" }, "targetConfigurations": [ { "featured": false, "id": "77ae1e4c-a216-4b15-a4a3-ae64ec298988", "name": "Social Sellers", "daysAgoOfPurchases": 0, "origin": "Marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [ "MKT1" ], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": true, "brands": [], "brandsAreInclusive": true, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 1, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "listBrand1BuyTogether": [], "listCategory1BuyTogether": [ { "id": "1", "name": "Vinhos Tintos (1)" } ], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "clusterOperator": "all", "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] } ] }, "schema": { "type": "object", "properties": { "beginDateUtc": { "type": "string", "description": "Start date of the campaign audience in UTC format." }, "endDateUtc": { "type": "string", "description": "End date of the campaign audience in UTC format." }, "id": { "type": "string", "description": "Campaign audience ID." }, "name": { "type": "string", "description": "Campaign audience name." }, "isActive": { "type": "boolean", "description": "Defines if the campaign audience is active (`true`) or not (`false`)." }, "isAndOperator": { "type": "boolean", "description": "When `true`, determines that all the `targetConfigurations` need to be valid for the campaign audience to be active. When `false`, determines that if at least one of the `targetConfigurations` is valid, the campaign audience will be active." }, "isArchived": { "type": "boolean", "description": "Defines if the campaign audience is archived (`true`) or not (`false`)." }, "lastModified": { "type": "object", "description": "Object with information about the most recent update of the campaign audience.", "properties": { "dateUtc": { "type": "string", "description": "Date of the most recent update in UTC format." }, "user": { "type": "string", "description": "Email of the user who updated the campaign audience for the latest time." } } }, "targetConfigurations": { "type": "array", "description": "Array that contains all target audience that the campaign audience will be valid.", "items": { "type": "object", "description": "Object with information about the target audience.", "properties": { "featured": { "type": "boolean", "description": "Defines if the target audience is featured (`true`) or not (`false`)." }, "id": { "type": "string", "description": "Target audience ID." }, "name": { "type": "string", "description": "Target audience name." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "origin": { "type": "string", "description": "Shows the campaign audience origin, `Marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSellerIsInclusive": { "type": "boolean", "description": "Defines if at least one of the sellers must be valid to active the campaign audience." }, "idsSalesChannel": { "type": "array", "description": "Array with all the trade policies that activate the campaign audience.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "Defines if the trade policy IDs are exclusive." }, "marketingTags": { "type": "array", "description": "Array with all the campaign audience's marketing tags.", "items": { "type": "string", "description": "Campaign audience marketing tags." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "Defines if marketing tags are not inclusive." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this campaign audience not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this campaign audience not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this campaign audience not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this campaign audience not to be applied." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "listBrand1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a brand to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the brand to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the brand to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the brand to be added to the first list of the **Buy Together** promotion." } } } }, "listCategory1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a category to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the category to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the category to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the category to be added to the first list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "Total chart value to active the campaign audience." }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this campaign audience not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the campaign audience only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of zip codes that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code.", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the campaign audience will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the campaign audience can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the campaign audience can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the campaign audience can be used multiple times per client." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } } } } } } } }, "/api/rnb/pvt/campaignConfiguration": { "get": { "tags": [ "Campaign Audiences" ], "summary": "Get all campaign audiences", "description": "Retrieves a list of all campaign audiences and their respective configurations.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getcampaignaudiences", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": [ { "beginDateUtc": "2020-05-01T21:30:00Z", "endDateUtc": "2020-05-02T01:30:00Z", "id": "dd270d06-1ed1-47fc-b04e-a2431121b5a4", "name": "Interna", "isActive": true, "isAndOperator": false, "isArchived": false, "lastModified": { "dateUtc": "2020-05-01T21:22:01.807398Z", "user": "email@email.com" }, "targetConfigurations": [ { "featured": false, "id": "77ae1e4c-a216-4b15-a4a3-ae64ec298988", "name": "Social Sellers", "daysAgoOfPurchases": 0, "origin": "Marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [ "MKT1" ], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": true, "brands": [], "brandsAreInclusive": true, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 1, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "listBrand1BuyTogether": [], "listCategory1BuyTogether": [ { "id": "1", "name": "Vinhos Tintos (1)" } ], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "clusterOperator": "all", "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] } ] } ], "schema": { "type": "array", "description": "Array of campaign audiences.", "items": { "type": "object", "description": "Object containing information about the campaign audience.", "properties": { "beginDateUtc": { "type": "string", "description": "Start date of the campaign audience in UTC format." }, "endDateUtc": { "type": "string", "description": "End date of the campaign audience in UTC format." }, "id": { "type": "string", "description": "Campaign audience ID." }, "name": { "type": "string", "description": "Campaign audience name." }, "isActive": { "type": "boolean", "description": "Defines if the campaign audience is active (`true`) or not (`false`)." }, "isAndOperator": { "type": "boolean", "description": "When `true`, determines that all the `targetConfigurations` need to be valid for the campaign audience to be active. When `false`, determines that if at least one of the `targetConfigurations` is valid, the campaign audience will be active." }, "isArchived": { "type": "boolean", "description": "Defines if the campaign audience is archived (`true`) or not (`false`)." }, "lastModified": { "type": "object", "description": "Object with information about the most recent update of the campaign audience.", "properties": { "dateUtc": { "type": "string", "description": "Date of the most recent update in UTC format." }, "user": { "type": "string", "description": "Email of the user who updated the campaign audience for the latest time." } } }, "targetConfigurations": { "type": "array", "description": "Array that contains all target audience that the campaign audience will be valid.", "items": { "type": "object", "description": "Object with information about the target audience.", "properties": { "featured": { "type": "boolean", "description": "Defines if the target audience is featured (`true`) or not (`false`)." }, "id": { "type": "string", "description": "Target audience ID." }, "name": { "type": "string", "description": "Target audience name." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "origin": { "type": "string", "description": "Shows the campaign audience origin, `Marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSellerIsInclusive": { "type": "boolean", "description": "Defines if at least one of the sellers must be valid to active the campaign audience." }, "idsSalesChannel": { "type": "array", "description": "Array with all the trade policies that activate the campaign audience.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "Defines if the trade policy IDs are exclusive." }, "marketingTags": { "type": "array", "description": "Array with all the campaign audience's marketing tags.", "items": { "type": "string", "description": "Campaign audience marketing tags." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "Defines if marketing tags are not inclusive." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign audience." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this campaign audience not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this campaign audience not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this campaign audience not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this campaign audience not to be applied." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "listBrand1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a brand to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the brand to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the brand to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the brand to be added to the first list of the **Buy Together** promotion." } } } }, "listCategory1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a category to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the category to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the category to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the category to be added to the first list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "Total chart value to active the campaign audience." }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this campaign audience not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the campaign audience only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of zip codes that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the campaign audience will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "clusterOperator": { "type": "string", "deprecated": true, "description": "Cluster operator." }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the campaign audience can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the campaign audience can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the campaign audience can be used multiple times per client." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } } } } } } } }, "post": { "tags": [ "Campaign Audiences" ], "summary": "Create campaign audience", "description": "Creates a new campaign audience.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Setcampaignconfiguration", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Describes the type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "beginDateUtc": { "type": "string", "description": "Start date of the campaign audience in UTC format.", "example": "2020-05-01T21:30:00Z" }, "endDateUtc": { "type": "string", "description": "End date of the campaign audience in UTC format.", "example": "2020-05-02T01:30:00Z" }, "id": { "type": "string", "description": "Campaign audience ID.", "example": "dd270d06-1ed1-47fc-b04e-a2431121b5a4" }, "name": { "type": "string", "description": "Campaign audience name.", "example": "Interna" }, "isActive": { "type": "boolean", "description": "Defines if the campaign audience is active (`true`) or not (`false`).", "example": true }, "isAndOperator": { "type": "boolean", "description": "When `true`, determines that all the `targetConfigurations` need to be valid for the campaign audience to be active. When `false`, determines that if at least one of the `targetConfigurations` is valid, the campaign audience will be active.", "example": true }, "isArchived": { "type": "boolean", "description": "Defines if the campaign audience is archived (`true`) or not (`false`).", "example": false }, "lastModified": { "type": "object", "description": "Object with information about the last update of the campaign audience.", "properties": { "dateUtc": { "type": "string", "description": "Date of the last update in UTC format.", "example": "2020-05-01T21:22:01.807398Z" }, "user": { "type": "string", "description": "Email of the user who made the last update.", "example": "email@email.com" } } }, "targetConfigurations": { "type": "array", "description": "Array that contains all target audience that the campaign audience will be valid.", "items": { "type": "object", "description": "Object with information about the target audience.", "properties": { "featured": { "type": "boolean", "description": "Defines if the target audience is featured (`true`) or not (`false`).", "example": false }, "id": { "type": "string", "description": "Target audience ID.", "example": "77ae1e4c-a216-4b15-a4a3-ae64ec298988" }, "name": { "type": "string", "description": "Target audience name.", "example": "Social Sellers" }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history.", "example": 0 }, "origin": { "type": "string", "description": "Shows the campaign audience origin, `Marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information.", "example": "Marketplace" }, "idSellerIsInclusive": { "type": "boolean", "description": "Shows if at least one of the sellers must be valid to active the campaign audience.", "example": false }, "idsSalesChannel": { "type": "array", "description": "Shows the trade policies that active the campaign audience.", "items": { "type": "string", "description": "Trade policy ID.", "example": "Principal" } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "Shows if the trade policy IDs are exclusive.", "example": false }, "marketingTags": { "type": "array", "description": "Array with all campaign audience's marketing tags.", "items": { "type": "string", "description": "Campaign audience marketing tags.", "example": "MKT1" } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "Shows if marketing tags are not inclusive.", "example": false }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID.", "example": "2" }, "name": { "type": "string", "description": "Payment Method Name.", "example": "Visa (2)" } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store.", "example": "store" } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign.", "example": "campaign" } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied.", "example": false }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID.", "example": "1" }, "name": { "type": "string", "description": "Category Name.", "example": "Vinhos Tintos (1)" } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this campaign audience not to be applied.", "example": true }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID.", "example": "1" }, "name": { "type": "string", "description": "Brand Name.", "example": "Brand (1)" } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this campaign audience not to be applied.", "example": true }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID.", "example": "1" }, "name": { "type": "string", "description": "Product Name.", "example": "Vinho (1)" } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this campaign audience not to be applied.", "example": true }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID.", "example": "1" }, "name": { "type": "string", "description": "SKU Name.", "example": "Vinho tinto (1)" } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this campaign audience not to be applied.", "example": true }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion.", "example": "157" }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion.", "example": "Inverno (157)" } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion.", "example": "157" }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion.", "example": "Inverno (157)" } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion.", "example": 1 }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion.", "example": 0 }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU.", "example": false }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion.", "example": "Vinho" } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion.", "example": "Vinho" } } } }, "listBrand1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a brand to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the brand to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the brand to be added to the first list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the brand to be added to the first list of the **Buy Together** promotion.", "example": "Malbec" } } } }, "listCategory1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a category to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the category to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the category to be added to the first list of the **Buy Together** promotion.", "example": "1" }, "name": { "type": "string", "description": "Name of the category to be added to the first list of the **Buy Together** promotion.", "example": "Vinhos Tintos" } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon.", "example": "coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience.", "example": 40 }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience.", "example": 0 }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items.", "example": false }, "totalValueMode": { "type": "string", "description": "Total chart value to active the campaign audience.", "example": "IncludeMatchedItems" }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID.", "example": "1" }, "name": { "type": "string", "description": "Collection Name.", "example": "Collection (1)" } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this campaign audience not to be applied.", "example": true }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN.", "example": "1234" } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer.", "example": "issuer" } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience.", "example": 0 }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method.", "example": "Express" } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer.", "example": false }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy.", "example": false }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged.", "example": false }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same.", "example": false }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the campaign audience only if the list price and price is different.", "example": false }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code.", "example": "20000-000" }, "zipCodeTo": { "type": "string", "description": "Final Zip Code.", "example": "20000-100" }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion.", "example": true } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item.", "example": 0 }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item.", "example": 0 }, "installment": { "type": "integer", "deprecated": true, "description": "Installment.", "example": 1 }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the campaign audience will be applied considering a minimum and maximum values for installments.", "example": false }, "minInstallment": { "type": "integer", "description": "Minimum value for installment.", "example": 0 }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment.", "example": 0 }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant.", "example": "merchant" } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression.", "example": "email contains user@mail.com" } }, "clusterOperator": { "type": "string", "deprecated": true, "description": "Cluster operator.", "example": "operator" }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule.", "example": "rule1" } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type.", "example": "Wishlist" } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification.", "example": "spec" } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID.", "example": "1" }, "name": { "type": "string", "description": "Affiliate Name.", "example": "Amazon" } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the campaign audience can be used.", "example": 0 }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the campaign audience can be used multiple times per client.", "example": 0 }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items.", "example": false }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the campaign audience can be used multiple times per client.", "example": false }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm.", "example": false }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value.", "example": 0 } } } } } } } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "beginDateUtc": "2020-05-01T21:30:00Z", "endDateUtc": "2020-05-02T01:30:00Z", "id": "dd270d06-1ed1-47fc-b04e-a2431121b5a4", "name": "Interna", "isActive": true, "isAndOperator": false, "isArchived": false, "lastModified": { "dateUtc": "2020-05-01T21:22:01.807398Z", "user": "email@email.com" }, "targetConfigurations": [ { "featured": false, "id": "77ae1e4c-a216-4b15-a4a3-ae64ec298988", "name": "Social Sellers", "daysAgoOfPurchases": 0, "origin": "Marketplace", "idSellerIsInclusive": false, "idsSalesChannel": [], "areSalesChannelIdsExclusive": false, "marketingTags": [ "MKT1" ], "marketingTagsAreNotInclusive": false, "paymentsMethods": [], "stores": [], "campaigns": [], "storesAreInclusive": false, "categories": [], "categoriesAreInclusive": true, "brands": [], "brandsAreInclusive": true, "products": [], "productsAreInclusive": false, "skus": [], "skusAreInclusive": true, "collections1BuyTogether": [], "collections2BuyTogether": [], "minimumQuantityBuyTogether": 1, "quantityToAffectBuyTogether": 0, "enableBuyTogetherPerSku": false, "listSku1BuyTogether": [], "listSku2BuyTogether": [], "listBrand1BuyTogether": [], "listCategory1BuyTogether": [ { "id": "1", "name": "Vinhos Tintos (1)" } ], "coupon": [], "totalValueFloor": 0, "totalValueCeling": 0, "totalValueIncludeAllItems": false, "totalValueMode": "IncludeMatchedItems", "collections": [], "collectionsIsInclusive": true, "restrictionsBins": [], "cardIssuers": [], "totalValuePurchase": 0, "slasIds": [], "isSlaSelected": false, "isFirstBuy": false, "firstBuyIsProfileOptimistic": false, "compareListPriceAndPrice": false, "isDifferentListPriceAndPrice": false, "zipCodeRanges": [ { "zipCodeFrom": "20000-000", "zipCodeTo": "20000-100", "inclusive": true } ], "itemMaxPrice": 0, "itemMinPrice": 0, "installment": 0, "isMinMaxInstallments": false, "minInstallment": 0, "maxInstallment": 0, "merchants": [], "clusterExpressions": [], "paymentsRules": [], "giftListTypes": [], "productsSpecifications": [], "affiliates": [], "maxUsage": 0, "maxUsagePerClient": 0, "shouldDistributeDiscountAmongMatchedItems": false, "multipleUsePerClient": false, "useNewProgressiveAlgorithm": false, "percentualDiscountValueList": [] } ] }, "schema": { "type": "object", "properties": { "beginDateUtc": { "type": "string", "description": "Start date of the campaign audience in UTC format." }, "endDateUtc": { "type": "string", "description": "End date of the campaign audience in UTC format." }, "id": { "type": "string", "description": "Campaign audience ID." }, "name": { "type": "string", "description": "Campaign audience name." }, "isActive": { "type": "boolean", "description": "Defines if the campaign audience is active (`true`) or not (`false`)." }, "isAndOperator": { "type": "boolean", "description": "When `true`, determines that all the `targetConfigurations` need to be valid for the campaign audience to be active. When `false`, determines that if at least one of the `targetConfigurations` is valid, the campaign audience will be active." }, "isArchived": { "type": "boolean", "description": "Defines if the campaign audience is archived (`true`) or not (`false`)." }, "lastModified": { "type": "object", "description": "Object with information about the most recent update of the campaign audience.", "properties": { "dateUtc": { "type": "string", "description": "Date of the most recent update in UTC format." }, "user": { "type": "string", "description": "Email of the user who updated the campaign audience for the latest time." } } }, "targetConfigurations": { "type": "array", "description": "Array that contains all target audience that the campaign audience will be valid.", "items": { "type": "object", "description": "Object with information about the target audience.", "properties": { "featured": { "type": "boolean", "description": "Defines if the target audience is feature (`true`) or not (`false`)." }, "id": { "type": "string", "description": "Target audience ID." }, "name": { "type": "string", "description": "Target audience name." }, "daysAgoOfPurchases": { "type": "integer", "description": "Number of days that are considered to add the purchase history." }, "origin": { "type": "string", "description": "Shows the campaign audience origin, `Marketplace` or `Fulfillment`. Read [Difference between orders with marketplace and fulfillment sources](https://help.vtex.com/en/tutorial/what-are-orders-with-marketplace-source-and-orders-with-fulfillment-source--6eVYrmUAwMOeKICU2KuG06) for more information." }, "idSellerIsInclusive": { "type": "boolean", "description": "Defines if at least one of the sellers must be valid to active the campaign audience." }, "idsSalesChannel": { "type": "array", "description": "Array with all the trade policies that activate the campaign audience.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "Defines if the trade policy IDs are exclusive." }, "marketingTags": { "type": "array", "description": "Array with all the campaign audience's marketing tags.", "items": { "type": "string", "description": "Campaign audience marketing tags." } }, "marketingTagsAreNotInclusive": { "type": "boolean", "description": "Defines if marketing tags are not inclusive." }, "paymentsMethods": { "type": "array", "description": "Array composed by all the Payments Methods.", "items": { "type": "object", "description": "Object with information of the Payment Method.", "properties": { "id": { "type": "string", "description": "Payment Method ID." }, "name": { "type": "string", "description": "Payment Method Name." } } } }, "stores": { "type": "array", "deprecated": true, "description": "List of stores.", "items": { "type": "string", "description": "Store." } }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign." } }, "storesAreInclusive": { "type": "boolean", "deprecated": true, "description": "If set to `true`, this promotion will be applied to any store present on the `stores` field. If set to `false`, stores present on that field will make this promotion not to be applied." }, "categories": { "type": "array", "description": "Object composed by the categories that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the category.", "properties": { "id": { "type": "string", "description": "Category ID." }, "name": { "type": "string", "description": "Category Name." } } } }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this campaign audience not to be applied." }, "brands": { "type": "array", "description": "Object composed by the brands that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the brand.", "properties": { "id": { "type": "string", "description": "Brand ID." }, "name": { "type": "string", "description": "Brand Name." } } } }, "brandsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this campaign audience not to be applied." }, "products": { "type": "array", "description": "Object composed by the products that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the product.", "properties": { "id": { "type": "string", "description": "Product ID." }, "name": { "type": "string", "description": "Product Name." } } } }, "productsAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this campaign audience not to be applied." }, "skus": { "type": "array", "description": "Object composed by the SKUs that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the SKU.", "properties": { "id": { "type": "string", "description": "SKU ID." }, "name": { "type": "string", "description": "SKU Name." } } } }, "skusAreInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this campaign audience not to be applied." }, "collections1BuyTogether": { "type": "array", "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "collections2BuyTogether": { "type": "array", "deprecated": true, "description": "Collections that will generate the promotion, type **Buy Together**, **More for less**, **Progressive Discount**, **Buy One Get One**.", "items": { "type": "object", "description": "Object containing the ID and Name of the collection to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the collection to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the collection to be added to the first list of the **Buy Together** promotion." } } } }, "minimumQuantityBuyTogether": { "type": "integer", "description": "Minimum quantity for **Buy Together** promotion." }, "quantityToAffectBuyTogether": { "type": "integer", "description": "Quantity to affect **Buy Together** promotion." }, "enableBuyTogetherPerSku": { "type": "boolean", "description": "Enable **Buy Together** per SKU." }, "listSku1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added in the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the first list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the first list of the **Buy Together** promotion." } } } }, "listSku2BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of an SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "items": { "type": "object", "description": "Object containing the ID and Name of the SKU to be added to the second list of the **Buy Together** promotion. Learn more about this type of promotion in the [Creating a Buy Together promotion](https://help.vtex.com/en/tutorial/buy-together--tutorials_323) documentation.", "properties": { "id": { "type": "string", "description": "ID of the SKU to be added to the second list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the SKU to be added to the second list of the **Buy Together** promotion." } } } }, "listBrand1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a brand to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the brand to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the brand to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the brand to be added to the first list of the **Buy Together** promotion." } } } }, "listCategory1BuyTogether": { "type": "array", "description": "Array of objects, each containing ID and Name of a category to be added in the first list of the **Buy Together** promotion.", "items": { "type": "object", "description": "Object containing the ID and Name of the category to be added to the first list of the **Buy Together** promotion.", "properties": { "id": { "type": "string", "description": "ID of the category to be added to the first list of the **Buy Together** promotion." }, "name": { "type": "string", "description": "Name of the category to be added to the first list of the **Buy Together** promotion." } } } }, "coupon": { "type": "array", "deprecated": true, "description": "List of coupons.", "items": { "type": "string", "description": "Coupon code." } }, "totalValueFloor": { "type": "number", "description": "Minimum chart value to active the campaign audience." }, "totalValueCeling": { "type": "number", "description": "Maximum chart value to active the campaign audience." }, "totalValueIncludeAllItems": { "type": "boolean", "deprecated": true, "description": "Total value including all items." }, "totalValueMode": { "type": "string", "description": "Total chart value to active the campaign audience." }, "collections": { "type": "array", "description": "Object composed by the collections that will activate or deactivate the campaign audience.", "items": { "type": "object", "description": "Object with information of the collection.", "properties": { "id": { "type": "string", "description": "Collection ID." }, "name": { "type": "string", "description": "Collection Name." } } } }, "collectionsIsInclusive": { "type": "boolean", "description": "If set to `true`, this campaign audience will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this campaign audience not to be applied." }, "restrictionsBins": { "type": "array", "description": "The discount will be granted if the card's BIN is given.", "items": { "type": "string", "description": "Card's BIN." } }, "cardIssuers": { "type": "array", "deprecated": true, "description": "List of card issuers.", "items": { "type": "string", "description": "Card issuer." } }, "totalValuePurchase": { "type": "number", "description": "Total value a client must have in past orders to active the campaign audience." }, "slasIds": { "type": "array", "description": "The discount will be granted if the shipping method is the same as the one given.", "items": { "type": "string", "description": "Shipping method." } }, "isSlaSelected": { "type": "boolean", "description": "Applies selected discount only when one of the defined shipping method is selected by the customer." }, "isFirstBuy": { "type": "boolean", "description": "Applies the discount only if it's a first buy." }, "firstBuyIsProfileOptimistic": { "type": "boolean", "description": "Applies the discount even if the user is not logged." }, "compareListPriceAndPrice": { "type": "boolean", "description": "If the **List Price** and **Price** are the same." }, "isDifferentListPriceAndPrice": { "type": "boolean", "description": "Applies the campaign audience only if the list price and price is different." }, "zipCodeRanges": { "type": "array", "description": "Range of the zip code that applies the promotion.", "items": { "type": "object", "description": "Object with information of the Zip Code", "properties": { "zipCodeFrom": { "type": "string", "description": "Initial Zip Code." }, "zipCodeTo": { "type": "string", "description": "Final Zip Code." }, "inclusive": { "type": "boolean", "description": "Defines if the zip code range is included in the promotion." } } } }, "itemMaxPrice": { "type": "number", "description": "Maximum price of the item." }, "itemMinPrice": { "type": "number", "description": "Minimum price of the item." }, "installment": { "type": "integer", "deprecated": true, "description": "Installment." }, "isMinMaxInstallments": { "type": "boolean", "description": "Set if the campaign audience will be applied considering a minimum and maximum values for installments." }, "minInstallment": { "type": "integer", "description": "Minimum value for installment." }, "maxInstallment": { "type": "integer", "description": "Maximum value for installment." }, "merchants": { "type": "array", "deprecated": true, "description": "List of merchants.", "items": { "type": "string", "description": "Merchant." } }, "clusterExpressions": { "type": "array", "description": "Criteria to select a customer cluster. Each item in this array should follow the format of an equality function (`{propertyname}={value}`) or the format of a contains function (`{propertyname} contains {value}`). In both options, `{propertyname}` must be replaced with the name of the field in the data entity, and `{value}` must be replaced with the value determined in Master Data. Find more information about these criteria in [Filling in the Customer cluster field](https://help.vtex.com/tutorial/creating-promotion-for-a-customer-cluster--tutorials_342#filling-in-the-customer-cluster-field).", "items": { "type": "string", "description": "Cluster expression." } }, "clusterOperator": { "type": "string", "deprecated": true, "description": "Cluster operator." }, "paymentsRules": { "type": "array", "deprecated": true, "description": "List of payment rules.", "items": { "type": "string", "description": "Payment rule." } }, "giftListTypes": { "type": "array", "description": "Gifts List Type.", "items": { "type": "string", "description": "Gift List Type." } }, "productsSpecifications": { "type": "array", "deprecated": true, "description": "List of product specifications.", "items": { "type": "string", "description": "Product specification." } }, "affiliates": { "type": "array", "description": "Marketplace order identifier. The discount will apply to selected affiliates.", "items": { "type": "object", "description": "Object with information of the affiliate.", "properties": { "id": { "type": "string", "description": "Affiliate ID." }, "name": { "type": "string", "description": "Affiliate Name." } } } }, "maxUsage": { "type": "integer", "description": "Defines how many times the campaign audience can be used." }, "maxUsagePerClient": { "type": "integer", "description": "Defines if the campaign audience can be used multiple times per client." }, "shouldDistributeDiscountAmongMatchedItems": { "type": "boolean", "description": "Should distribute discount among matched items." }, "multipleUsePerClient": { "type": "boolean", "description": "Defines if the campaign audience can be used multiple times per client." }, "useNewProgressiveAlgorithm": { "type": "boolean", "description": "Use new progressive algorithm." }, "percentualDiscountValueList": { "type": "array", "description": "Percentual discount value list.", "items": { "type": "number", "description": "Percentual discount value." } } } } } } } } } } } } }, "/api/rnb/pub/notifications": { "post": { "tags": [ "Notifications" ], "summary": "Usage notification", "description": "Usage notification.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Rates and Benefits | Manage benefits and rates | **GerenciarPromocoesETarifas** |\r\n\r\nThere are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Usagenotification", "parameters": [ { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } }, { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "default": "application/json" } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "orderId", "profileId", "accountId", "calculatorIds", "used", "coupon", "itemsCount" ], "type": "object", "properties": { "orderId": { "type": "string", "description": "Order ID.", "example": "1" }, "profileId": { "type": "string", "description": "Profile ID.", "example": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }, "accountId": { "type": "string", "description": "Account ID.", "example": "ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj" }, "calculatorIds": { "type": "array", "description": "List of calculator IDs.", "items": { "type": "string", "description": "Calculator ID.", "example": "discount_basetestqa_1" } }, "used": { "type": "boolean", "description": "Indicates whether the item has been used or not.", "example": false }, "coupon": { "type": "string", "description": "Indicates whether a coupon is applicable to the item.", "example": "cupom" }, "itemsCount": { "type": "integer", "format": "int32", "description": "Items count.", "example": 1 } } }, "example": { "orderId": "1", "profileId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "accountId": "ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj", "calculatorIds": [ "discount_basetestqa_1" ], "used": true, "coupon": "cupom", "itemsCount": 4 } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "deprecated": false, "servers": [ { "url": "http://example.com/.{environment}.com.br/api/rnb", "variables": { "environment": { "default": "exampleParameterValue" } } } ] } } }, "components": { "schemas": { "GetPromotions": { "type": "array", "description": "Array with information about a promotion.", "items": { "type": "object", "description": "Object with information about a promotion.", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Promotion ID." }, "lastModifiedUtc": { "type": "string", "description": "Date and time when the promotion was last modified (UTC)." }, "name": { "type": "string", "description": "Promotion Name." }, "beginDate": { "type": "string", "description": "Promotion Begin Date (UTC)." }, "endDate": { "type": "string", "description": "Promotion End Date (UTC)." }, "isActive": { "type": "boolean", "description": "If set as `true` the promotion is activated. If set as `false` the promotion is deactivated." }, "description": { "type": "string", "description": "Promotion internal description." }, "type": { "description": "Defines the type of promotion.", "type": "string" }, "utmSource": { "type": "string", "description": "utmSource code." }, "utmCampain": { "type": "string", "description": "utmCampaign code." }, "utmiCampaign": { "type": "string", "description": "utmiCampaign code." }, "status": { "type": "string", "description": "Status of the promotion." }, "percentualTax": { "type": "number", "description": "Percentual tax applied." }, "isArchived": { "type": "boolean", "description": "If set as `true` the Promotion is archived. If set as `false` the Promotion is not archived." }, "hasMaxPricePerItem": { "description": "Defines if there is a maximum price per item.", "type": "boolean" }, "isTax": { "description": "Defines if it is a tax.", "type": "boolean" }, "campaigns": { "description": "Campaign Audiences that activate this promotion.", "type": "array", "items": { "type": "string", "description": "Campaign Audience." } }, "activateGiftsMultiplier": { "description": "If set as `true`, it activates gifts Multiplier.", "type": "boolean" }, "scope": { "description": "Scope of the promotion.", "type": "object", "properties": { "allCatalog": { "description": "Determines if the promotion applies to all products in the Catalog (`true`) or not (`false`).", "type": "boolean" }, "skus": { "description": "Quantity of SKUs which activate or deactivate the promotion.", "type": "number" }, "skusAreInclusive": { "description": "If set to `true`, this promotion will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this promotion not to be applied.", "type": "boolean" }, "products": { "description": "Quantity of products which activate or deactivate the promotion.", "type": "number" }, "productsAreInclusive": { "description": "If set to `true`, this promotion will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this promotion not to be applied.", "type": "boolean" }, "collections": { "description": "Quantity of collections which activate or deactivate the promotion.", "type": "number" }, "collectionsAreInclusive": { "description": "If set to `true`, this promotion will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this promotion not to be applied.", "type": "boolean" }, "categories": { "description": "Quantity of categories which activate or deactivate the promotion.", "type": "number" }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this promotion will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this promotion not to be applied." }, "brands": { "description": "Quantity of brands which activate or deactivate the promotion.", "type": "number" }, "brandsAreInclusive": { "description": "If set to `true`, this promotion will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this promotion not to be applied.", "type": "boolean" }, "sellers": { "description": "Quantity of sellers which activate or deactivate the promotion.", "type": "number" }, "sellersAreInclusive": { "description": "If set to `true`, this promotion will be applied to any seller present on the `sellers` field. If set to `false`, sellers present on that field will make this promotion not to be applied.", "type": "boolean" } } }, "maxUsage": { "type": "number", "description": "Defines how many times the promotion can be used." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this promotion.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this promotion will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this promotion not to be applied." } } } }, "GetTaxes": { "type": "array", "description": "Array with taxes.", "items": { "type": "object", "description": "Object with information about a tax.", "properties": { "idCalculatorConfiguration": { "type": "string", "description": "Tax ID." }, "lastModifiedUtc": { "type": "string", "description": "Date and time when the tax was last modified (UTC)." }, "name": { "type": "string", "description": "Tax name." }, "beginDate": { "type": "string", "description": "Tax start date (UTC)." }, "endDate": { "type": "string", "description": "Tax end date (UTC)." }, "isActive": { "type": "boolean", "description": "If set as `true` the tax is activated. If set as `false` the tax is deactivated." }, "description": { "type": "string", "description": "Tax internal description." }, "type": { "description": "Defines the type of tax.", "type": "string" }, "utmSource": { "type": "string", "description": "utmSource code." }, "utmCampain": { "type": "string", "description": "utmCampaign code." }, "utmiCampaign": { "type": "string", "description": "utmiCampaign code." }, "status": { "type": "string", "description": "Status of the tax." }, "percentualTax": { "type": "number", "description": "Percentual tax applied." }, "isArchived": { "type": "boolean", "description": "If set as `true` the tax is archived. If set as `false` the tax is not archived." }, "hasMaxPricePerItem": { "description": "Defines if there is a maximum price per item.", "type": "boolean" }, "isTax": { "description": "Defines if it is a tax.", "type": "boolean" }, "campaigns": { "type": "array", "description": "Campaign Audiences that activate this promotion.", "items": { "type": "string", "description": "Campaign." } }, "activateGiftsMultiplier": { "description": "If set as `true`, it activates gifts Multiplier.", "type": "boolean" }, "scope": { "description": "Scope of the tax.", "type": "object", "properties": { "allCatalog": { "description": "Determines if the tax applies to all products in the Catalog (`true`) or not (`false`).", "type": "boolean" }, "skus": { "description": "Quantity of SKUs which activate or deactivate the tax.", "type": "number" }, "skusAreInclusive": { "description": "If set to `true`, this tax will be applied to any SKU present on the `skus` field. If set to `false`, SKUs present on that field will make this tax not to be applied.", "type": "boolean" }, "products": { "description": "Quantity of products which activate or deactivate the tax.", "type": "number" }, "productsAreInclusive": { "description": "If set to `true`, this tax will be applied to any product present on the `products` field. If set to `false`, products present on that field will make this tax not to be applied.", "type": "boolean" }, "collections": { "description": "Quantity of collections which activate or deactivate the tax.", "type": "number" }, "collectionsAreInclusive": { "description": "If set to `true`, this tax will be applied to any collection present on the `collections` field. If set to `false`, collections present on that field will make this tax not to be applied.", "type": "boolean" }, "categories": { "description": "Quantity of categories which activate or deactivate the tax.", "type": "number" }, "categoriesAreInclusive": { "type": "boolean", "description": "If set to `true`, this tax will be applied to any category present on the `categories` field. If set to `false`, categories present on that field will make this tax not to be applied." }, "brands": { "description": "Quantity of brands which activate or deactivate the tax.", "type": "number" }, "brandsAreInclusive": { "description": "If set to `true`, this tax will be applied to any brand present on the `brands` field. If set to `false`, brands present on that field will make this tax not to be applied.", "type": "boolean" }, "sellers": { "description": "Quantity of sellers which activate or deactivate the tax.", "type": "number" }, "sellersAreInclusive": { "description": "If set to `true`, this tax will be applied to any seller present on the `sellers` field. If set to `false`, sellers present on that field will make this tax not to be applied.", "type": "boolean" } } }, "maxUsage": { "type": "number", "description": "Defines how many times the tax can be used." }, "idsSalesChannel": { "type": "array", "description": "List of Trade Policies that activate this tax.", "items": { "type": "string", "description": "Trade policy ID." } }, "areSalesChannelIdsExclusive": { "type": "boolean", "description": "If set to `false`, this tax will be applied to any trade policies present on the `idsSalesChannel` field. If set to `true`, trade policies present on that field will make this tax not to be applied." } } } } }, "securitySchemes": { "appKey": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppKey", "description": "Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." }, "appToken": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppToken", "description": "Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." }, "VtexIdclientAutCookie": { "type": "apiKey", "in": "header", "name": "VtexIdclientAutCookie", "description": "[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours." } } }, "tags": [ { "name": "Promotions and taxes" }, { "name": "Coupons" }, { "name": "Campaign Audiences" }, { "name": "Notifications" }, { "name": "Bundles" }, { "name": "Prices (Legacy - v1)" } ], "security": [ { "appKey": [], "appToken": [] }, { "VtexIdclientAutCookie": [] } ] }